Missing ACPI driver for a keyboard button in Xiaomi RedmiBook Pro 16

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello!

I have a Xiaomi RedmiBook Pro 16 laptop and I suspect it is missing a
driver.

The laptop has a top row of F1-F12 buttons that can also control volume,
brightness and many other things. Most of them work fine and produce a
completely valid output (shown via `acpi_listen` from the `acpid`
package):

  button/mute MUTE 00000080 00000000
  button/volumedown VOLDN 00000080 00000000
  button/volumeup VOLUP 00000080 00000000
  video/brightnessdown BRTDN 00000087 00000000
  video/brightnessup BRTUP 00000086 00000000

But then there is a "Mute mic" key (F4 button with an image of a
crossed-out microphone). It has an LED that lights up and down when the
button is being pressed, but there is no keycode, no dmesg message and
no _valid_ ACPI event — the message in `acpi_listen` is always the same,
no matter the state of the button. Pressing the button multiple times
produces the same output:

  wmi PNP0C14:00 00000020 00000000

Might be a good time to mention that I nave 0 experience with ACPI, WMI
and drivers in general... I tried debugging the issue further and got
some data, but I lack the proper knowledge to interpret it.

Running `acpidump -b` (from `acpica-tools` package) generated some .dat
files which I then decompiled with `iasl -d` (from the same
`acpica-tools` package).

  # acpidump -b
  # iasl -d dsdt.dat

The resulting `dsdt.dsl` file has some code that mentions "PNP0C14".
I've attached this file with this email.

I also tried restarting the kernel with this configuration (NixOS
shenanigans; not sure what exactly it does there), but that didn't seem
to produce any extra files or directories on the system (in /sys and
/dev).

  boot.initrd.availableKernelModules = [
    "xhci_pci"
    "thunderbolt"
    "nvme"
    "usb_storage"
    "sd_mod"
  ];
  boot.initrd.kernelModules = [ ];
  boot.kernelModules = [ "kvm-intel" "wmi-sysfs" "wmi" "acpi_call" ];
  boot.extraModulePackages = [ ];

Here is some extra info that might be relevant:

  $ ls /dev/wmi
  ls: cannot access '/dev/wmi': No such file or directory

  $ ls -1 /sys/bus/wmi/devices
  05901221-D566-11D1-B2F0-00A0C9062910
  05901221-D566-11D1-B2F0-00A0C9062910-1
  05901221-D566-11D1-B2F0-00A0C9062910-2
  05901221-D566-11D1-B2F0-00A0C9062910-3
  1DCEAF0A-4D63-44BB-BD0C-0D6281BFDDC5
  1F13AB7F-6220-4210-8F8E-8BB5E71EE969
  2BC49DEF-7B15-4F05-8BB7-EE37B9547C0B
  3F9E3C26-B077-4F86-91F5-37FF64D8C7ED
  46C93E13-EE9B-4262-8488-563BCA757FEF
  657B6048-310C-4A90-A211-10A17922A0AF
  A6FEA33E-DABF-46F5-BFC8-460D961BEC9F
  B60BFB48-3E5B-49E4-A0E9-8CFFE1B3434B
  F80A5498-23F3-4053-A244-B39067EC476F
  FA78E245-2C0F-4CA1-91CF-15F34E474850

  $ ls /sys/bus/wmi/devices/2BC49DEF-7B15-4F05-8BB7-EE37B9547C0B/
  driver_override  expensive  guid  instance_count
  modalias  object_id  power  subsystem  uevent

  $ uname -a
  Linux 6.15.5 #1-NixOS SMP PREEMPT_DYNAMIC x86_64 GNU/Linux
  
  $ ls /proc/acpi
  button  wakeup

  $ sudo cat /proc/acpi/button/lid/LID0/state 
  state:      open

  $ sudo cat /proc/acpi/wakeup 
  Device    S-state    Status     Sysfs node
  AWAC      S4         *enabled   platform:ACPI000E:00
  XDCI      S4         *disabled
  XHCI      S4         *enabled   pci:0000:00:14.0
  HDAS      S4         *disabled  pci:0000:00:1f.3
  I3C0      S4         *disabled
  CNVW      S4         *disabled  pci:0000:00:14.3
  RP01      S4         *disabled
  PXSX      S4         *disabled
  RP02      S4         *disabled
  PXSX      S4         *disabled
  RP03      S4         *disabled
  PXSX      S4         *disabled
  RP04      S4         *disabled
  PXSX      S4         *disabled
  RP05      S4         *disabled
  PXSX      S4         *disabled
  RP06      S4         *disabled
  PXSX      S4         *disabled
  RP07      S4         *disabled
  PXSX      S4         *disabled
  RP08      S4         *disabled
  PXSX      S4         *disabled
  RP09      S4         *enabled   pci:0000:00:06.0
  PXSX      S4         *disabled  pci:0000:01:00.0
  RP10      S4         *disabled
  PXSX      S4         *disabled
  RP11      S4         *disabled
  PXSX      S4         *disabled
  RP12      S4         *disabled
  PXSX      S4         *disabled
  TXHC      S4         *enabled   pci:0000:00:0d.0
  TDM0      S4         *enabled   pci:0000:00:0d.2
  TDM1      S4         *disabled
  TRP0      S4         *disabled
  PXSX      S4         *disabled
  TRP1      S4         *enabled   pci:0000:00:07.0
  PXSX      S4         *disabled
  TRP2      S4         *disabled
  PXSX      S4         *disabled
  TRP3      S4         *disabled
  PXSX      S4         *disabled

As I said, I don't actually understand what I'm doing here, but I'd
really like to learn! It would be really cool if I ended up having to
write and contribute my first driver!

Sorry if I am somehow posting this incorrectly. This is my first time
communicating here, just trying my best.

P.S. CC'ing W_Armin@xxxxxx, linux@xxxxxxxxxxxxxx and fengwk94@xxxxxxxxx
since I've got the impression you have some experience with this.

-- 
Nikita Krasnov
/*
 * Intel ACPI Component Architecture
 * AML/ASL+ Disassembler version 20250404 (64-bit version)
 * Copyright (c) 2000 - 2025 Intel Corporation
 * 
 * Disassembling to symbolic ASL+ operators
 *
 * Disassembly of ../dsdt.dat
 *
 * Original Table Header:
 *     Signature        "DSDT"
 *     Length           0x00072EC8 (470728)
 *     Revision         0x02
 *     Checksum         0x93
 *     OEM ID           "XMCC  "
 *     OEM Table ID     "XMCC2309"
 *     OEM Revision     0x00000002 (2)
 *     Compiler ID      "ACPI"
 *     Compiler Version 0x00040000 (262144)
 */
DefinitionBlock ("", "DSDT", 2, "XMCC  ", "XMCC2309", 0x00000002)
{
    /*
     * iASL Warning: There were 207 external control methods found during
     * disassembly, but only 463 were resolved (4294967040 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 (_GPE.AL6B, MethodObj)    // 0 Arguments
    External (_GPE.AL6F, MethodObj)    // 0 Arguments
    External (_GPE.DTIN, MethodObj)    // 0 Arguments
    External (_GPE.PL6B, MethodObj)    // 0 Arguments
    External (_GPE.SL61, MethodObj)    // 0 Arguments
    External (_GPE.SL69, MethodObj)    // 0 Arguments
    External (_GPE.SL6F, MethodObj)    // 0 Arguments
    External (_GPE.SL71, MethodObj)    // 0 Arguments
    External (_GPE.SLA0, MethodObj)    // 0 Arguments
    External (_GPE.SLA1, MethodObj)    // 0 Arguments
    External (_GPE.SLA2, MethodObj)    // 0 Arguments
    External (_GPE.SLA7, MethodObj)    // 0 Arguments
    External (_GPE.SLC0, MethodObj)    // 0 Arguments
    External (_GPE.SLC1, MethodObj)    // 0 Arguments
    External (_GPE.SLC2, MethodObj)    // 0 Arguments
    External (_GPE.SLC7, MethodObj)    // 0 Arguments
    External (_SB_.BGIA, UnknownObj)
    External (_SB_.BGMA, UnknownObj)
    External (_SB_.BGMS, UnknownObj)
    External (_SB_.BTRK, MethodObj)    // 1 Arguments
    External (_SB_.CHGE, IntObj)
    External (_SB_.CPID, UnknownObj)
    External (_SB_.CPPC, IntObj)
    External (_SB_.DPTF, IntObj)
    External (_SB_.DTSE, UnknownObj)
    External (_SB_.DTSF, UnknownObj)
    External (_SB_.GBTR, MethodObj)    // 0 Arguments
    External (_SB_.GGOV, MethodObj)    // 1 Arguments
    External (_SB_.IETM, DeviceObj)
    External (_SB_.IETM.CHRG, DeviceObj)
    External (_SB_.NPCF, DeviceObj)
    External (_SB_.NPCF.ACBT, IntObj)
    External (_SB_.NPCF.DBAC, IntObj)
    External (_SB_.NPCF.DBDC, IntObj)
    External (_SB_.ODV0, IntObj)
    External (_SB_.ODV1, IntObj)
    External (_SB_.ODV2, IntObj)
    External (_SB_.ODV3, IntObj)
    External (_SB_.ODV4, IntObj)
    External (_SB_.ODV5, IntObj)
    External (_SB_.PC00, DeviceObj)
    External (_SB_.PC00.ACET, UnknownObj)
    External (_SB_.PC00.ACWA, UnknownObj)
    External (_SB_.PC00.AWAC, DeviceObj)
    External (_SB_.PC00.AWAC.WAST, IntObj)
    External (_SB_.PC00.CNVW.BOFC, UnknownObj)
    External (_SB_.PC00.CNVW.CIRM, UnknownObj)
    External (_SB_.PC00.CNVW.CRFI, UnknownObj)
    External (_SB_.PC00.CNVW.DPRS, UnknownObj)
    External (_SB_.PC00.CNVW.FLRC, UnknownObj)
    External (_SB_.PC00.CNVW.PRRS, UnknownObj)
    External (_SB_.PC00.CNVW.RSTT, UnknownObj)
    External (_SB_.PC00.CNVW.RSTY, UnknownObj)
    External (_SB_.PC00.DCET, UnknownObj)
    External (_SB_.PC00.DCWA, UnknownObj)
    External (_SB_.PC00.DPOF, UnknownObj)
    External (_SB_.PC00.GBES, UnknownObj)
    External (_SB_.PC00.GFX0.CDCK, UnknownObj)
    External (_SB_.PC00.GFX0.CLID, UnknownObj)
    External (_SB_.PC00.GFX0.DD1F, DeviceObj)
    External (_SB_.PC00.GFX0.DD2F, DeviceObj)
    External (_SB_.PC00.GFX0.GLID, MethodObj)    // 1 Arguments
    External (_SB_.PC00.GFX0.IUEH, MethodObj)    // 1 Arguments
    External (_SB_.PC00.GFX0.IUER, IntObj)
    External (_SB_.PC00.HCID, MethodObj)    // 1 Arguments
    External (_SB_.PC00.HDAS.HIDW, MethodObj)    // 4 Arguments
    External (_SB_.PC00.HDAS.HIWC, MethodObj)    // 1 Arguments
    External (_SB_.PC00.HDAS.PPMS, MethodObj)    // 1 Arguments
    External (_SB_.PC00.HDAS.PS0X, MethodObj)    // 0 Arguments
    External (_SB_.PC00.HDAS.PS3X, MethodObj)    // 0 Arguments
    External (_SB_.PC00.HIDW, MethodObj)    // 4 Arguments
    External (_SB_.PC00.HIWC, MethodObj)    // 1 Arguments
    External (_SB_.PC00.I2C0.PPDI, UnknownObj)
    External (_SB_.PC00.I2C1.PPDI, UnknownObj)
    External (_SB_.PC00.I2C2.PPDI, UnknownObj)
    External (_SB_.PC00.I2C3.PPDI, UnknownObj)
    External (_SB_.PC00.I2C4.PPDI, UnknownObj)
    External (_SB_.PC00.I2C5.PPDI, UnknownObj)
    External (_SB_.PC00.IMNG, MethodObj)    // 1 Arguments
    External (_SB_.PC00.ITSP, UnknownObj)
    External (_SB_.PC00.LPCB.ACCF, MethodObj)    // 1 Arguments
    External (_SB_.PC00.LPCB.BPNT, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.D8XH, MethodObj)    // 2 Arguments
    External (_SB_.PC00.LPCB.DGBA, UnknownObj)
    External (_SB_.PC00.LPCB.H_EC, DeviceObj)
    External (_SB_.PC00.LPCB.H_EC.BAT0, DeviceObj)
    External (_SB_.PC00.LPCB.H_EC.BAT1, DeviceObj)
    External (_SB_.PC00.LPCB.H_EC.BNUM, IntObj)
    External (_SB_.PC00.LPCB.H_EC.ECNT, MethodObj)    // 1 Arguments
    External (_SB_.PC00.LPCB.H_EC.ECWT, MethodObj)    // 2 Arguments
    External (_SB_.PC00.LPCB.H_EC.EPET, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.ERAP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.ERB1, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.ERBA, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.ERBP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.ERCF, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.ERLD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.ERMT, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.ERPC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.ERPD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.ERPE, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.ERPH, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.ERPM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.ERPN, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.ERPS, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.ERSP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.ERVP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.LID0, DeviceObj)
    External (_SB_.PC00.LPCB.H_EC.LSTE, UnknownObj)
    External (_SB_.PC00.LPCB.H_EC.ONTM, IntObj)
    External (_SB_.PC00.LPCB.H_EC.PGER, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.SPET, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.UPBT, MethodObj)    // 2 Arguments
    External (_SB_.PC00.LPCB.H_EC.UPCF, MethodObj)    // 1 Arguments
    External (_SB_.PC00.LPCB.H_EC.UPFS, MethodObj)    // 2 Arguments
    External (_SB_.PC00.LPCB.H_EC.UTEC, MethodObj)    // 2 Arguments
    External (_SB_.PC00.LPCB.H_EC.WPED, MethodObj)    // 1 Arguments
    External (_SB_.PC00.LPCB.H_EC.XDAT, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.NRTS, MethodObj)    // 1 Arguments
    External (_SB_.PC00.LPCB.PDFG, UnknownObj)
    External (_SB_.PC00.LPCB.PGCL, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.PGWD, MethodObj)    // 4 Arguments
    External (_SB_.PC00.LPCB.Q_EC.WOUB, IntObj)
    External (_SB_.PC00.LPCB.SPNT, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.SWUB, MethodObj)    // 4 Arguments
    External (_SB_.PC00.LPCB.WKEC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.M32B, UnknownObj)
    External (_SB_.PC00.M32L, UnknownObj)
    External (_SB_.PC00.M64B, UnknownObj)
    External (_SB_.PC00.M64L, UnknownObj)
    External (_SB_.PC00.PAUD.PUAM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.PC2M, MethodObj)    // 2 Arguments
    External (_SB_.PC00.PDRC.DPTR, UnknownObj)
    External (_SB_.PC00.PDRC.EPTR, UnknownObj)
    External (_SB_.PC00.RP01, DeviceObj)
    External (_SB_.PC00.RP01.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.NFRP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PBNU, IntObj)
    External (_SB_.PC00.RP01.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP01.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PRMV, IntObj)
    External (_SB_.PC00.RP01.PRTP, IntObj)
    External (_SB_.PC00.RP01.PXSX.BCCX, UnknownObj)
    External (_SB_.PC00.RP01.PXSX.BOFC, UnknownObj)
    External (_SB_.PC00.RP01.PXSX.BRMT, IntObj)
    External (_SB_.PC00.RP01.PXSX.CIRM, UnknownObj)
    External (_SB_.PC00.RP01.PXSX.CRFI, UnknownObj)
    External (_SB_.PC00.RP01.PXSX.DPRS, UnknownObj)
    External (_SB_.PC00.RP01.PXSX.FDEL, IntObj)
    External (_SB_.PC00.RP01.PXSX.FLRC, UnknownObj)
    External (_SB_.PC00.RP01.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC00.RP01.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC00.RP01.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC00.RP01.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PXSX.PDEL, IntObj)
    External (_SB_.PC00.RP01.PXSX.PIXX, UnknownObj)
    External (_SB_.PC00.RP01.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC00.RP01.PXSX.RDLY, IntObj)
    External (_SB_.PC00.RP01.PXSX.RSTY, UnknownObj)
    External (_SB_.PC00.RP01.PXSX.SCCX, UnknownObj)
    External (_SB_.PC00.RP01.PXSX.VDEL, IntObj)
    External (_SB_.PC00.RP01.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PXSX.WVHO, IntObj)
    External (_SB_.PC00.RP01.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.RD3C, IntObj)
    External (_SB_.PC00.RP01.SLOT, IntObj)
    External (_SB_.PC00.RP01.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP01.VDID, FieldUnitObj)
    External (_SB_.PC00.RP02, DeviceObj)
    External (_SB_.PC00.RP02.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP02.PBNU, IntObj)
    External (_SB_.PC00.RP02.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP02.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP02.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP02.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP02.PRMV, IntObj)
    External (_SB_.PC00.RP02.PRTP, IntObj)
    External (_SB_.PC00.RP02.PXSX.BCCX, UnknownObj)
    External (_SB_.PC00.RP02.PXSX.BOFC, UnknownObj)
    External (_SB_.PC00.RP02.PXSX.BRMT, IntObj)
    External (_SB_.PC00.RP02.PXSX.CIRM, UnknownObj)
    External (_SB_.PC00.RP02.PXSX.CRFI, UnknownObj)
    External (_SB_.PC00.RP02.PXSX.DPRS, UnknownObj)
    External (_SB_.PC00.RP02.PXSX.FDEL, IntObj)
    External (_SB_.PC00.RP02.PXSX.FLRC, UnknownObj)
    External (_SB_.PC00.RP02.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP02.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC00.RP02.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC00.RP02.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC00.RP02.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP02.PXSX.PDEL, IntObj)
    External (_SB_.PC00.RP02.PXSX.PIXX, UnknownObj)
    External (_SB_.PC00.RP02.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP02.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP02.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC00.RP02.PXSX.RDLY, IntObj)
    External (_SB_.PC00.RP02.PXSX.RSTY, UnknownObj)
    External (_SB_.PC00.RP02.PXSX.SCCX, UnknownObj)
    External (_SB_.PC00.RP02.PXSX.VDEL, IntObj)
    External (_SB_.PC00.RP02.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP02.PXSX.WVHO, IntObj)
    External (_SB_.PC00.RP02.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP02.RD3C, IntObj)
    External (_SB_.PC00.RP02.SLOT, IntObj)
    External (_SB_.PC00.RP02.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP02.VDID, FieldUnitObj)
    External (_SB_.PC00.RP03, DeviceObj)
    External (_SB_.PC00.RP03.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP03.PBNU, IntObj)
    External (_SB_.PC00.RP03.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP03.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP03.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP03.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP03.PRMV, IntObj)
    External (_SB_.PC00.RP03.PRTP, IntObj)
    External (_SB_.PC00.RP03.PXSX.BCCX, UnknownObj)
    External (_SB_.PC00.RP03.PXSX.BOFC, UnknownObj)
    External (_SB_.PC00.RP03.PXSX.BRMT, IntObj)
    External (_SB_.PC00.RP03.PXSX.CIRM, UnknownObj)
    External (_SB_.PC00.RP03.PXSX.CRFI, UnknownObj)
    External (_SB_.PC00.RP03.PXSX.DPRS, UnknownObj)
    External (_SB_.PC00.RP03.PXSX.FDEL, IntObj)
    External (_SB_.PC00.RP03.PXSX.FLRC, UnknownObj)
    External (_SB_.PC00.RP03.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP03.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC00.RP03.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC00.RP03.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC00.RP03.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP03.PXSX.PDEL, IntObj)
    External (_SB_.PC00.RP03.PXSX.PIXX, UnknownObj)
    External (_SB_.PC00.RP03.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP03.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP03.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC00.RP03.PXSX.RDLY, IntObj)
    External (_SB_.PC00.RP03.PXSX.RSTY, UnknownObj)
    External (_SB_.PC00.RP03.PXSX.SCCX, UnknownObj)
    External (_SB_.PC00.RP03.PXSX.VDEL, IntObj)
    External (_SB_.PC00.RP03.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP03.PXSX.WVHO, IntObj)
    External (_SB_.PC00.RP03.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP03.RD3C, IntObj)
    External (_SB_.PC00.RP03.SLOT, IntObj)
    External (_SB_.PC00.RP03.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP03.VDID, FieldUnitObj)
    External (_SB_.PC00.RP04, DeviceObj)
    External (_SB_.PC00.RP04.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP04.PBNU, IntObj)
    External (_SB_.PC00.RP04.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP04.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP04.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP04.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP04.PRMV, IntObj)
    External (_SB_.PC00.RP04.PRTP, IntObj)
    External (_SB_.PC00.RP04.PXSX.BCCX, UnknownObj)
    External (_SB_.PC00.RP04.PXSX.BOFC, UnknownObj)
    External (_SB_.PC00.RP04.PXSX.BRMT, IntObj)
    External (_SB_.PC00.RP04.PXSX.CIRM, UnknownObj)
    External (_SB_.PC00.RP04.PXSX.CRFI, UnknownObj)
    External (_SB_.PC00.RP04.PXSX.DPRS, UnknownObj)
    External (_SB_.PC00.RP04.PXSX.FDEL, IntObj)
    External (_SB_.PC00.RP04.PXSX.FLRC, UnknownObj)
    External (_SB_.PC00.RP04.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP04.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC00.RP04.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC00.RP04.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC00.RP04.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP04.PXSX.PDEL, IntObj)
    External (_SB_.PC00.RP04.PXSX.PIXX, UnknownObj)
    External (_SB_.PC00.RP04.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP04.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP04.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC00.RP04.PXSX.RDLY, IntObj)
    External (_SB_.PC00.RP04.PXSX.RSTY, UnknownObj)
    External (_SB_.PC00.RP04.PXSX.SCCX, UnknownObj)
    External (_SB_.PC00.RP04.PXSX.VDEL, IntObj)
    External (_SB_.PC00.RP04.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP04.PXSX.WVHO, IntObj)
    External (_SB_.PC00.RP04.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP04.RD3C, IntObj)
    External (_SB_.PC00.RP04.SLOT, IntObj)
    External (_SB_.PC00.RP04.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP04.VDID, FieldUnitObj)
    External (_SB_.PC00.RP05, DeviceObj)
    External (_SB_.PC00.RP05.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP05.NFRP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP05.PBNU, IntObj)
    External (_SB_.PC00.RP05.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP05.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP05.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP05.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP05.PRMV, IntObj)
    External (_SB_.PC00.RP05.PRTP, IntObj)
    External (_SB_.PC00.RP05.PXSX.BCCX, UnknownObj)
    External (_SB_.PC00.RP05.PXSX.BOFC, UnknownObj)
    External (_SB_.PC00.RP05.PXSX.BRMT, IntObj)
    External (_SB_.PC00.RP05.PXSX.CIRM, UnknownObj)
    External (_SB_.PC00.RP05.PXSX.CRFI, UnknownObj)
    External (_SB_.PC00.RP05.PXSX.DPRS, UnknownObj)
    External (_SB_.PC00.RP05.PXSX.FDEL, IntObj)
    External (_SB_.PC00.RP05.PXSX.FLRC, UnknownObj)
    External (_SB_.PC00.RP05.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP05.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC00.RP05.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC00.RP05.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC00.RP05.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP05.PXSX.PDEL, IntObj)
    External (_SB_.PC00.RP05.PXSX.PIXX, UnknownObj)
    External (_SB_.PC00.RP05.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP05.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP05.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC00.RP05.PXSX.RDLY, IntObj)
    External (_SB_.PC00.RP05.PXSX.RSTY, UnknownObj)
    External (_SB_.PC00.RP05.PXSX.SCCX, UnknownObj)
    External (_SB_.PC00.RP05.PXSX.VDEL, IntObj)
    External (_SB_.PC00.RP05.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP05.PXSX.WVHO, IntObj)
    External (_SB_.PC00.RP05.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP05.RD3C, IntObj)
    External (_SB_.PC00.RP05.SLOT, IntObj)
    External (_SB_.PC00.RP05.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP05.VDID, FieldUnitObj)
    External (_SB_.PC00.RP06, DeviceObj)
    External (_SB_.PC00.RP06.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP06.PBNU, IntObj)
    External (_SB_.PC00.RP06.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP06.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP06.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP06.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP06.PRMV, IntObj)
    External (_SB_.PC00.RP06.PRTP, IntObj)
    External (_SB_.PC00.RP06.PXSX.BCCX, UnknownObj)
    External (_SB_.PC00.RP06.PXSX.BOFC, UnknownObj)
    External (_SB_.PC00.RP06.PXSX.BRMT, IntObj)
    External (_SB_.PC00.RP06.PXSX.CIRM, UnknownObj)
    External (_SB_.PC00.RP06.PXSX.CRFI, UnknownObj)
    External (_SB_.PC00.RP06.PXSX.DPRS, UnknownObj)
    External (_SB_.PC00.RP06.PXSX.FDEL, IntObj)
    External (_SB_.PC00.RP06.PXSX.FLRC, UnknownObj)
    External (_SB_.PC00.RP06.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP06.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC00.RP06.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC00.RP06.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC00.RP06.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP06.PXSX.PDEL, IntObj)
    External (_SB_.PC00.RP06.PXSX.PIXX, UnknownObj)
    External (_SB_.PC00.RP06.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP06.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP06.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC00.RP06.PXSX.RDLY, IntObj)
    External (_SB_.PC00.RP06.PXSX.RSTY, UnknownObj)
    External (_SB_.PC00.RP06.PXSX.SCCX, UnknownObj)
    External (_SB_.PC00.RP06.PXSX.VDEL, IntObj)
    External (_SB_.PC00.RP06.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP06.PXSX.WVHO, IntObj)
    External (_SB_.PC00.RP06.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP06.RD3C, IntObj)
    External (_SB_.PC00.RP06.SLOT, IntObj)
    External (_SB_.PC00.RP06.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP06.VDID, FieldUnitObj)
    External (_SB_.PC00.RP07, DeviceObj)
    External (_SB_.PC00.RP07.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP07.PBNU, IntObj)
    External (_SB_.PC00.RP07.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP07.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP07.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP07.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP07.PRMV, IntObj)
    External (_SB_.PC00.RP07.PRTP, IntObj)
    External (_SB_.PC00.RP07.PXSX.BCCX, UnknownObj)
    External (_SB_.PC00.RP07.PXSX.BOFC, UnknownObj)
    External (_SB_.PC00.RP07.PXSX.BRMT, IntObj)
    External (_SB_.PC00.RP07.PXSX.CIRM, UnknownObj)
    External (_SB_.PC00.RP07.PXSX.CRFI, UnknownObj)
    External (_SB_.PC00.RP07.PXSX.DPRS, UnknownObj)
    External (_SB_.PC00.RP07.PXSX.FDEL, IntObj)
    External (_SB_.PC00.RP07.PXSX.FLRC, UnknownObj)
    External (_SB_.PC00.RP07.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP07.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC00.RP07.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC00.RP07.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC00.RP07.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP07.PXSX.PDEL, IntObj)
    External (_SB_.PC00.RP07.PXSX.PIXX, UnknownObj)
    External (_SB_.PC00.RP07.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP07.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP07.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC00.RP07.PXSX.RDLY, IntObj)
    External (_SB_.PC00.RP07.PXSX.RSTY, UnknownObj)
    External (_SB_.PC00.RP07.PXSX.SCCX, UnknownObj)
    External (_SB_.PC00.RP07.PXSX.VDEL, IntObj)
    External (_SB_.PC00.RP07.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP07.PXSX.WVHO, IntObj)
    External (_SB_.PC00.RP07.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP07.RD3C, IntObj)
    External (_SB_.PC00.RP07.SLOT, IntObj)
    External (_SB_.PC00.RP07.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP07.VDID, FieldUnitObj)
    External (_SB_.PC00.RP08, DeviceObj)
    External (_SB_.PC00.RP08.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP08.PBNU, IntObj)
    External (_SB_.PC00.RP08.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP08.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP08.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP08.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP08.PRMV, IntObj)
    External (_SB_.PC00.RP08.PRTP, IntObj)
    External (_SB_.PC00.RP08.PXSX.BCCX, UnknownObj)
    External (_SB_.PC00.RP08.PXSX.BOFC, UnknownObj)
    External (_SB_.PC00.RP08.PXSX.BRMT, IntObj)
    External (_SB_.PC00.RP08.PXSX.CIRM, UnknownObj)
    External (_SB_.PC00.RP08.PXSX.CRFI, UnknownObj)
    External (_SB_.PC00.RP08.PXSX.DPRS, UnknownObj)
    External (_SB_.PC00.RP08.PXSX.FDEL, IntObj)
    External (_SB_.PC00.RP08.PXSX.FLRC, UnknownObj)
    External (_SB_.PC00.RP08.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP08.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC00.RP08.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC00.RP08.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC00.RP08.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP08.PXSX.PDEL, IntObj)
    External (_SB_.PC00.RP08.PXSX.PIXX, UnknownObj)
    External (_SB_.PC00.RP08.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP08.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP08.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC00.RP08.PXSX.RDLY, IntObj)
    External (_SB_.PC00.RP08.PXSX.RSTY, UnknownObj)
    External (_SB_.PC00.RP08.PXSX.SCCX, UnknownObj)
    External (_SB_.PC00.RP08.PXSX.VDEL, IntObj)
    External (_SB_.PC00.RP08.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP08.PXSX.WVHO, IntObj)
    External (_SB_.PC00.RP08.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP08.RD3C, IntObj)
    External (_SB_.PC00.RP08.SLOT, IntObj)
    External (_SB_.PC00.RP08.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP08.VDID, FieldUnitObj)
    External (_SB_.PC00.RP09, DeviceObj)
    External (_SB_.PC00.RP09.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.NFRP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PBNU, IntObj)
    External (_SB_.PC00.RP09.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP09.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PRMV, IntObj)
    External (_SB_.PC00.RP09.PRTP, IntObj)
    External (_SB_.PC00.RP09.PXSX.BCCX, UnknownObj)
    External (_SB_.PC00.RP09.PXSX.BOFC, UnknownObj)
    External (_SB_.PC00.RP09.PXSX.BRMT, IntObj)
    External (_SB_.PC00.RP09.PXSX.CIRM, UnknownObj)
    External (_SB_.PC00.RP09.PXSX.CRFI, UnknownObj)
    External (_SB_.PC00.RP09.PXSX.DPRS, UnknownObj)
    External (_SB_.PC00.RP09.PXSX.FDEL, IntObj)
    External (_SB_.PC00.RP09.PXSX.FLRC, UnknownObj)
    External (_SB_.PC00.RP09.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC00.RP09.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC00.RP09.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC00.RP09.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PXSX.PDEL, IntObj)
    External (_SB_.PC00.RP09.PXSX.PIXX, UnknownObj)
    External (_SB_.PC00.RP09.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC00.RP09.PXSX.RDLY, IntObj)
    External (_SB_.PC00.RP09.PXSX.RSTY, UnknownObj)
    External (_SB_.PC00.RP09.PXSX.SCCX, UnknownObj)
    External (_SB_.PC00.RP09.PXSX.VDEL, IntObj)
    External (_SB_.PC00.RP09.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PXSX.WVHO, IntObj)
    External (_SB_.PC00.RP09.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.RD3C, IntObj)
    External (_SB_.PC00.RP09.SLOT, IntObj)
    External (_SB_.PC00.RP09.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP09.VDID, FieldUnitObj)
    External (_SB_.PC00.RP10, DeviceObj)
    External (_SB_.PC00.RP10.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP10.NFRP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP10.PBNU, IntObj)
    External (_SB_.PC00.RP10.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP10.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP10.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP10.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP10.PRMV, IntObj)
    External (_SB_.PC00.RP10.PRTP, IntObj)
    External (_SB_.PC00.RP10.PXSX.BCCX, UnknownObj)
    External (_SB_.PC00.RP10.PXSX.BOFC, UnknownObj)
    External (_SB_.PC00.RP10.PXSX.BRMT, IntObj)
    External (_SB_.PC00.RP10.PXSX.CIRM, UnknownObj)
    External (_SB_.PC00.RP10.PXSX.CRFI, UnknownObj)
    External (_SB_.PC00.RP10.PXSX.DPRS, UnknownObj)
    External (_SB_.PC00.RP10.PXSX.FDEL, IntObj)
    External (_SB_.PC00.RP10.PXSX.FLRC, UnknownObj)
    External (_SB_.PC00.RP10.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP10.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC00.RP10.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC00.RP10.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC00.RP10.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP10.PXSX.PDEL, IntObj)
    External (_SB_.PC00.RP10.PXSX.PIXX, UnknownObj)
    External (_SB_.PC00.RP10.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP10.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP10.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC00.RP10.PXSX.RDLY, IntObj)
    External (_SB_.PC00.RP10.PXSX.RSTY, UnknownObj)
    External (_SB_.PC00.RP10.PXSX.SCCX, UnknownObj)
    External (_SB_.PC00.RP10.PXSX.VDEL, IntObj)
    External (_SB_.PC00.RP10.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP10.PXSX.WVHO, IntObj)
    External (_SB_.PC00.RP10.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP10.RD3C, IntObj)
    External (_SB_.PC00.RP10.SLOT, IntObj)
    External (_SB_.PC00.RP10.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP10.VDID, FieldUnitObj)
    External (_SB_.PC00.RP11, DeviceObj)
    External (_SB_.PC00.RP11.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP11.NFRP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP11.PBNU, IntObj)
    External (_SB_.PC00.RP11.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP11.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP11.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP11.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP11.PRMV, IntObj)
    External (_SB_.PC00.RP11.PRTP, IntObj)
    External (_SB_.PC00.RP11.PXSX.BCCX, UnknownObj)
    External (_SB_.PC00.RP11.PXSX.BOFC, UnknownObj)
    External (_SB_.PC00.RP11.PXSX.BRMT, IntObj)
    External (_SB_.PC00.RP11.PXSX.CIRM, UnknownObj)
    External (_SB_.PC00.RP11.PXSX.CRFI, UnknownObj)
    External (_SB_.PC00.RP11.PXSX.DPRS, UnknownObj)
    External (_SB_.PC00.RP11.PXSX.FDEL, IntObj)
    External (_SB_.PC00.RP11.PXSX.FLRC, UnknownObj)
    External (_SB_.PC00.RP11.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP11.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC00.RP11.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC00.RP11.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC00.RP11.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP11.PXSX.PDEL, IntObj)
    External (_SB_.PC00.RP11.PXSX.PIXX, UnknownObj)
    External (_SB_.PC00.RP11.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP11.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP11.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC00.RP11.PXSX.RDLY, IntObj)
    External (_SB_.PC00.RP11.PXSX.RSTY, UnknownObj)
    External (_SB_.PC00.RP11.PXSX.SCCX, UnknownObj)
    External (_SB_.PC00.RP11.PXSX.VDEL, IntObj)
    External (_SB_.PC00.RP11.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP11.PXSX.WVHO, IntObj)
    External (_SB_.PC00.RP11.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP11.RD3C, IntObj)
    External (_SB_.PC00.RP11.SLOT, IntObj)
    External (_SB_.PC00.RP11.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP11.VDID, FieldUnitObj)
    External (_SB_.PC00.RP12, DeviceObj)
    External (_SB_.PC00.RP12.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP12.CBLV, UnknownObj)
    External (_SB_.PC00.RP12.CLID, UnknownObj)
    External (_SB_.PC00.RP12.DD10, UnknownObj)
    External (_SB_.PC00.RP12.DD11, UnknownObj)
    External (_SB_.PC00.RP12.DD12, UnknownObj)
    External (_SB_.PC00.RP12.DD13, UnknownObj)
    External (_SB_.PC00.RP12.DD14, UnknownObj)
    External (_SB_.PC00.RP12.DD15, UnknownObj)
    External (_SB_.PC00.RP12.DDL2, UnknownObj)
    External (_SB_.PC00.RP12.DDL3, UnknownObj)
    External (_SB_.PC00.RP12.DDL4, UnknownObj)
    External (_SB_.PC00.RP12.DDL5, UnknownObj)
    External (_SB_.PC00.RP12.DDL6, UnknownObj)
    External (_SB_.PC00.RP12.DDL7, UnknownObj)
    External (_SB_.PC00.RP12.DDL8, UnknownObj)
    External (_SB_.PC00.RP12.DDL9, UnknownObj)
    External (_SB_.PC00.RP12.DIDL, UnknownObj)
    External (_SB_.PC00.RP12.DLID, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP12.NFRP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP12.PBNU, IntObj)
    External (_SB_.PC00.RP12.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP12.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP12.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP12.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP12.PRMV, IntObj)
    External (_SB_.PC00.RP12.PRTP, IntObj)
    External (_SB_.PC00.RP12.PXSX.ASLC, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.BCCX, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.BCLP, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.BOFC, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.BRMT, IntObj)
    External (_SB_.PC00.RP12.PXSX.BTIE, FieldUnitObj)
    External (_SB_.PC00.RP12.PXSX.CIRM, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.CRFI, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DBRL, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DGD1, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DGD2, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DGD3, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DGD4, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DGD5, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DGD6, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DGD7, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DGD8, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DGD9, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DGDA, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DGDB, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DGDC, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DGDD, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DGDE, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DGDF, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DGDS, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DGDX, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DNID, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.DPRS, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.EDMX, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.FDEL, IntObj)
    External (_SB_.PC00.RP12.PXSX.FLRC, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP12.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC00.RP12.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC00.RP12.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC00.RP12.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP12.PXSX.PDEL, IntObj)
    External (_SB_.PC00.RP12.PXSX.PEGB.PEGE.DEDP, DeviceObj)
    External (_SB_.PC00.RP12.PXSX.PIXX, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP12.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP12.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC00.RP12.PXSX.RDLY, IntObj)
    External (_SB_.PC00.RP12.PXSX.RSTY, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.SCCX, UnknownObj)
    External (_SB_.PC00.RP12.PXSX.VDEL, IntObj)
    External (_SB_.PC00.RP12.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP12.PXSX.WVHO, IntObj)
    External (_SB_.PC00.RP12.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP12.RD3C, IntObj)
    External (_SB_.PC00.RP12.SLOT, IntObj)
    External (_SB_.PC00.RP12.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP12.VDID, FieldUnitObj)
    External (_SB_.PC00.RP13, DeviceObj)
    External (_SB_.PC00.RP13.PRMV, IntObj)
    External (_SB_.PC00.RP13.PRTP, IntObj)
    External (_SB_.PC00.RP13.RD3C, IntObj)
    External (_SB_.PC00.RP13.SLOT, IntObj)
    External (_SB_.PC00.RP14, DeviceObj)
    External (_SB_.PC00.RP14.PRMV, IntObj)
    External (_SB_.PC00.RP14.PRTP, IntObj)
    External (_SB_.PC00.RP14.RD3C, IntObj)
    External (_SB_.PC00.RP14.SLOT, IntObj)
    External (_SB_.PC00.RP15, DeviceObj)
    External (_SB_.PC00.RP15.PRMV, IntObj)
    External (_SB_.PC00.RP15.PRTP, IntObj)
    External (_SB_.PC00.RP15.RD3C, IntObj)
    External (_SB_.PC00.RP15.SLOT, IntObj)
    External (_SB_.PC00.RP16, DeviceObj)
    External (_SB_.PC00.RP16.PRMV, IntObj)
    External (_SB_.PC00.RP16.PRTP, IntObj)
    External (_SB_.PC00.RP16.RD3C, IntObj)
    External (_SB_.PC00.RP16.SLOT, IntObj)
    External (_SB_.PC00.RP17, DeviceObj)
    External (_SB_.PC00.RP17.PRMV, IntObj)
    External (_SB_.PC00.RP17.PRTP, IntObj)
    External (_SB_.PC00.RP17.RD3C, IntObj)
    External (_SB_.PC00.RP17.SLOT, IntObj)
    External (_SB_.PC00.RP18, DeviceObj)
    External (_SB_.PC00.RP18.PRMV, IntObj)
    External (_SB_.PC00.RP18.PRTP, IntObj)
    External (_SB_.PC00.RP18.RD3C, IntObj)
    External (_SB_.PC00.RP18.SLOT, IntObj)
    External (_SB_.PC00.RP19, DeviceObj)
    External (_SB_.PC00.RP19.PRMV, IntObj)
    External (_SB_.PC00.RP19.PRTP, IntObj)
    External (_SB_.PC00.RP19.RD3C, IntObj)
    External (_SB_.PC00.RP19.SLOT, IntObj)
    External (_SB_.PC00.RP20, DeviceObj)
    External (_SB_.PC00.RP20.PRMV, IntObj)
    External (_SB_.PC00.RP20.PRTP, IntObj)
    External (_SB_.PC00.RP20.RD3C, IntObj)
    External (_SB_.PC00.RP20.SLOT, IntObj)
    External (_SB_.PC00.RP21, DeviceObj)
    External (_SB_.PC00.RP21.PRMV, IntObj)
    External (_SB_.PC00.RP21.PRTP, IntObj)
    External (_SB_.PC00.RP21.RD3C, IntObj)
    External (_SB_.PC00.RP21.SLOT, IntObj)
    External (_SB_.PC00.RP22, DeviceObj)
    External (_SB_.PC00.RP22.PRMV, IntObj)
    External (_SB_.PC00.RP22.PRTP, IntObj)
    External (_SB_.PC00.RP22.RD3C, IntObj)
    External (_SB_.PC00.RP22.SLOT, IntObj)
    External (_SB_.PC00.RP23, DeviceObj)
    External (_SB_.PC00.RP23.PRMV, IntObj)
    External (_SB_.PC00.RP23.PRTP, IntObj)
    External (_SB_.PC00.RP23.RD3C, IntObj)
    External (_SB_.PC00.RP23.SLOT, IntObj)
    External (_SB_.PC00.RP24, DeviceObj)
    External (_SB_.PC00.RP24.PRMV, IntObj)
    External (_SB_.PC00.RP24.PRTP, IntObj)
    External (_SB_.PC00.RP24.RD3C, IntObj)
    External (_SB_.PC00.RP24.SLOT, IntObj)
    External (_SB_.PC00.RP25, DeviceObj)
    External (_SB_.PC00.RP25.PRMV, IntObj)
    External (_SB_.PC00.RP25.PRTP, IntObj)
    External (_SB_.PC00.RP25.RD3C, IntObj)
    External (_SB_.PC00.RP25.SLOT, IntObj)
    External (_SB_.PC00.RP26, DeviceObj)
    External (_SB_.PC00.RP26.PRMV, IntObj)
    External (_SB_.PC00.RP26.PRTP, IntObj)
    External (_SB_.PC00.RP26.RD3C, IntObj)
    External (_SB_.PC00.RP26.SLOT, IntObj)
    External (_SB_.PC00.RP27, DeviceObj)
    External (_SB_.PC00.RP27.PRMV, IntObj)
    External (_SB_.PC00.RP27.PRTP, IntObj)
    External (_SB_.PC00.RP27.RD3C, IntObj)
    External (_SB_.PC00.RP27.SLOT, IntObj)
    External (_SB_.PC00.RP28, DeviceObj)
    External (_SB_.PC00.RP28.PRMV, IntObj)
    External (_SB_.PC00.RP28.PRTP, IntObj)
    External (_SB_.PC00.RP28.RD3C, IntObj)
    External (_SB_.PC00.RP28.SLOT, IntObj)
    External (_SB_.PC00.SAT0.PRT0.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.SAT0.PRT1.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.SAT0.PRT2.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.SAT0.PRT3.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.SAT0.PRT4.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.SAT0.PRT5.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.SAT0.PRT6, DeviceObj)
    External (_SB_.PC00.SAT0.PRT6.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.SAT0.PRT7, DeviceObj)
    External (_SB_.PC00.SAT0.PRT7.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.SAT0.SATC, MethodObj)    // 1 Arguments
    External (_SB_.PC00.SAT0.SATD, MethodObj)    // 4 Arguments
    External (_SB_.PC00.SWAK, MethodObj)    // 2 Arguments
    External (_SB_.PC00.TDM0, DeviceObj)
    External (_SB_.PC00.TDM0._STA, UnknownObj)
    External (_SB_.PC00.TDM0.SCME, UnknownObj)
    External (_SB_.PC00.TDM0.STCM, MethodObj)    // 2 Arguments
    External (_SB_.PC00.TDM1, DeviceObj)
    External (_SB_.PC00.TDM1._STA, UnknownObj)
    External (_SB_.PC00.TDM1.SCME, UnknownObj)
    External (_SB_.PC00.TDM1.STCM, MethodObj)    // 2 Arguments
    External (_SB_.PC00.THC0, DeviceObj)
    External (_SB_.PC00.THC0.CINI, MethodObj)    // 2 Arguments
    External (_SB_.PC00.THC1, DeviceObj)
    External (_SB_.PC00.THC1.CINI, MethodObj)    // 2 Arguments
    External (_SB_.PC00.TXHC, DeviceObj)
    External (_SB_.PC00.UF0E, UnknownObj)
    External (_SB_.PC00.WMID.QV20, MethodObj)    // 2 Arguments
    External (_SB_.PC00.XHCI._PS0.PS0X, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI._PS3.PS3X, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI.DUAM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI.PMEE, IntObj)
    External (_SB_.PC00.XHCI.RHUB.HS03.VTCM, IntObj)
    External (_SB_.PC00.XHCI.RHUB.HS05.VTCM, IntObj)
    External (_SB_.PC00.XHCI.RHUB.HS10.BRMT, IntObj)
    External (_SB_.PC00.XHCI.RHUB.HS10.CBTA, IntObj)
    External (_SB_.PC00.XHCI.RHUB.HS10.CBTC, IntObj)
    External (_SB_.PC00.XHCI.RHUB.HS10.CBTI, IntObj)
    External (_SB_.PC00.XHCI.RHUB.HS10.CRFP, UnknownObj)
    External (_SB_.PC00.XHCI.RHUB.HS10.RDLY, UnknownObj)
    External (_SB_.PC00.XHCI.RHUB.HS10.WVHO, IntObj)
    External (_SB_.PC00.XHCI.RHUB.INIR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI.RHUB.PS0X, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI.RHUB.PS2X, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI.RHUB.PS3X, MethodObj)    // 0 Arguments
    External (_SB_.PC02, DeviceObj)
    External (_SB_.PC02.HDAS.HIDW, MethodObj)    // 4 Arguments
    External (_SB_.PC02.HDAS.HIWC, MethodObj)    // 1 Arguments
    External (_SB_.PC02.HDAS.PPMS, MethodObj)    // 1 Arguments
    External (_SB_.PC02.HDAS.PS0X, MethodObj)    // 0 Arguments
    External (_SB_.PC02.HDAS.PS3X, MethodObj)    // 0 Arguments
    External (_SB_.PC02.HDBO, UnknownObj)
    External (_SB_.PC02.HIDW, MethodObj)    // 4 Arguments
    External (_SB_.PC02.HIWC, MethodObj)    // 1 Arguments
    External (_SB_.PC02.I2C0.PPDI, UnknownObj)
    External (_SB_.PC02.I2C1.PPDI, UnknownObj)
    External (_SB_.PC02.I2C2.PPDI, UnknownObj)
    External (_SB_.PC02.I2C3.PPDI, UnknownObj)
    External (_SB_.PC02.I2C4.PPDI, UnknownObj)
    External (_SB_.PC02.I2C5.PPDI, UnknownObj)
    External (_SB_.PC02.PBSB, UnknownObj)
    External (_SB_.PC02.PPMC.ACET, UnknownObj)
    External (_SB_.PC02.PPMC.ACWA, UnknownObj)
    External (_SB_.PC02.PPMC.DCET, UnknownObj)
    External (_SB_.PC02.PPMC.DCWA, UnknownObj)
    External (_SB_.PC02.RP01, DeviceObj)
    External (_SB_.PC02.RP01.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.PBNU, IntObj)
    External (_SB_.PC02.RP01.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP01.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.PRMV, IntObj)
    External (_SB_.PC02.RP01.PRTP, IntObj)
    External (_SB_.PC02.RP01.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.RD3C, IntObj)
    External (_SB_.PC02.RP01.SLOT, IntObj)
    External (_SB_.PC02.RP01.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP01.VDID, FieldUnitObj)
    External (_SB_.PC02.RP02.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.PBNU, IntObj)
    External (_SB_.PC02.RP02.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP02.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP02.VDID, FieldUnitObj)
    External (_SB_.PC02.RP03.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.PBNU, IntObj)
    External (_SB_.PC02.RP03.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP03.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP03.VDID, FieldUnitObj)
    External (_SB_.PC02.RP04, DeviceObj)
    External (_SB_.PC02.RP04.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.PBNU, IntObj)
    External (_SB_.PC02.RP04.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP04.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.PRMV, IntObj)
    External (_SB_.PC02.RP04.PRTP, IntObj)
    External (_SB_.PC02.RP04.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.RD3C, IntObj)
    External (_SB_.PC02.RP04.SLOT, IntObj)
    External (_SB_.PC02.RP04.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP04.VDID, FieldUnitObj)
    External (_SB_.PC02.RP05, DeviceObj)
    External (_SB_.PC02.RP05.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.PBNU, IntObj)
    External (_SB_.PC02.RP05.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP05.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.PRMV, IntObj)
    External (_SB_.PC02.RP05.PRTP, IntObj)
    External (_SB_.PC02.RP05.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.RD3C, IntObj)
    External (_SB_.PC02.RP05.SLOT, IntObj)
    External (_SB_.PC02.RP05.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP05.VDID, FieldUnitObj)
    External (_SB_.PC02.RP06.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.PBNU, IntObj)
    External (_SB_.PC02.RP06.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP06.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP06.VDID, FieldUnitObj)
    External (_SB_.PC02.RP07, DeviceObj)
    External (_SB_.PC02.RP07.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.PBNU, IntObj)
    External (_SB_.PC02.RP07.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP07.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.PRMV, IntObj)
    External (_SB_.PC02.RP07.PRTP, IntObj)
    External (_SB_.PC02.RP07.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.RD3C, IntObj)
    External (_SB_.PC02.RP07.SLOT, IntObj)
    External (_SB_.PC02.RP07.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP07.VDID, FieldUnitObj)
    External (_SB_.PC02.RP08, DeviceObj)
    External (_SB_.PC02.RP08.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.PBNU, IntObj)
    External (_SB_.PC02.RP08.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP08.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.PRMV, IntObj)
    External (_SB_.PC02.RP08.PRTP, IntObj)
    External (_SB_.PC02.RP08.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.RD3C, IntObj)
    External (_SB_.PC02.RP08.SLOT, IntObj)
    External (_SB_.PC02.RP08.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP08.VDID, FieldUnitObj)
    External (_SB_.PC02.RP09, DeviceObj)
    External (_SB_.PC02.RP09.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.PBNU, IntObj)
    External (_SB_.PC02.RP09.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP09.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.PRMV, IntObj)
    External (_SB_.PC02.RP09.PRTP, IntObj)
    External (_SB_.PC02.RP09.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.RD3C, IntObj)
    External (_SB_.PC02.RP09.SLOT, IntObj)
    External (_SB_.PC02.RP09.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP09.VDID, FieldUnitObj)
    External (_SB_.PC02.RP10.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.PBNU, IntObj)
    External (_SB_.PC02.RP10.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP10.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP10.VDID, FieldUnitObj)
    External (_SB_.PC02.RP11.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.PBNU, IntObj)
    External (_SB_.PC02.RP11.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP11.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP11.VDID, FieldUnitObj)
    External (_SB_.PC02.RP12.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.PBNU, IntObj)
    External (_SB_.PC02.RP12.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP12.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP12.VDID, FieldUnitObj)
    External (_SB_.PC02.RP13, DeviceObj)
    External (_SB_.PC02.RP13.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.PBNU, IntObj)
    External (_SB_.PC02.RP13.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP13.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.PRMV, IntObj)
    External (_SB_.PC02.RP13.PRTP, IntObj)
    External (_SB_.PC02.RP13.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.RD3C, IntObj)
    External (_SB_.PC02.RP13.SLOT, IntObj)
    External (_SB_.PC02.RP13.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP13.VDID, FieldUnitObj)
    External (_SB_.PC02.RP14.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.PBNU, IntObj)
    External (_SB_.PC02.RP14.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP14.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP14.VDID, FieldUnitObj)
    External (_SB_.PC02.RP15.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.PBNU, IntObj)
    External (_SB_.PC02.RP15.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP15.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP15.VDID, FieldUnitObj)
    External (_SB_.PC02.RP16.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.PBNU, IntObj)
    External (_SB_.PC02.RP16.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP16.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP16.VDID, FieldUnitObj)
    External (_SB_.PC02.RP17, DeviceObj)
    External (_SB_.PC02.RP17.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.PBNU, IntObj)
    External (_SB_.PC02.RP17.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP17.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.PRMV, IntObj)
    External (_SB_.PC02.RP17.PRTP, IntObj)
    External (_SB_.PC02.RP17.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.RD3C, IntObj)
    External (_SB_.PC02.RP17.SLOT, IntObj)
    External (_SB_.PC02.RP17.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP17.VDID, FieldUnitObj)
    External (_SB_.PC02.RP18.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.PBNU, IntObj)
    External (_SB_.PC02.RP18.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP18.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP18.VDID, FieldUnitObj)
    External (_SB_.PC02.RP19.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.PBNU, IntObj)
    External (_SB_.PC02.RP19.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP19.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP19.VDID, FieldUnitObj)
    External (_SB_.PC02.RP20.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.PBNU, IntObj)
    External (_SB_.PC02.RP20.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP20.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP20.VDID, FieldUnitObj)
    External (_SB_.PC02.RP21, DeviceObj)
    External (_SB_.PC02.RP21.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.PBNU, IntObj)
    External (_SB_.PC02.RP21.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP21.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.PRMV, IntObj)
    External (_SB_.PC02.RP21.PRTP, IntObj)
    External (_SB_.PC02.RP21.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.RD3C, IntObj)
    External (_SB_.PC02.RP21.SLOT, IntObj)
    External (_SB_.PC02.RP21.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP21.VDID, FieldUnitObj)
    External (_SB_.PC02.RP22.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.PBNU, IntObj)
    External (_SB_.PC02.RP22.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP22.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP22.VDID, FieldUnitObj)
    External (_SB_.PC02.RP23.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.PBNU, IntObj)
    External (_SB_.PC02.RP23.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP23.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP23.VDID, FieldUnitObj)
    External (_SB_.PC02.RP24.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.PBNU, IntObj)
    External (_SB_.PC02.RP24.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP24.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP24.VDID, FieldUnitObj)
    External (_SB_.PC02.SAT0.SATC, MethodObj)    // 1 Arguments
    External (_SB_.PC02.SAT0.SATD, MethodObj)    // 4 Arguments
    External (_SB_.PC02.THC0.CINI, MethodObj)    // 2 Arguments
    External (_SB_.PC02.THC1.CINI, MethodObj)    // 2 Arguments
    External (_SB_.PC02.VMDE, UnknownObj)
    External (_SB_.PC02.VMPP, UnknownObj)
    External (_SB_.PC02.XHCI._PS0.PS0X, MethodObj)    // 0 Arguments
    External (_SB_.PC02.XHCI._PS3.PS3X, MethodObj)    // 0 Arguments
    External (_SB_.PC02.XHCI.RHUB.HS03.VTCM, IntObj)
    External (_SB_.PC02.XHCI.RHUB.HS05.VTCM, IntObj)
    External (_SB_.PC02.XHCI.RHUB.INIR, MethodObj)    // 0 Arguments
    External (_SB_.PC02.XHCI.RHUB.PS0X, MethodObj)    // 0 Arguments
    External (_SB_.PC02.XHCI.RHUB.PS2X, MethodObj)    // 0 Arguments
    External (_SB_.PC02.XHCI.RHUB.PS3X, MethodObj)    // 0 Arguments
    External (_SB_.PDTS, UnknownObj)
    External (_SB_.PGPI.SGOV, MethodObj)    // 2 Arguments
    External (_SB_.PKGA, UnknownObj)
    External (_SB_.PPBG, IntObj)
    External (_SB_.PR00.LPSS, PkgObj)
    External (_SB_.PR00.TPSS, PkgObj)
    External (_SB_.PWRB, DeviceObj)
    External (_SB_.PWRB.PBST, IntObj)
    External (_SB_.SGOV, MethodObj)    // 2 Arguments
    External (_SB_.SRSP, IntObj)
    External (_SB_.TCWK, MethodObj)    // 1 Arguments
    External (_SB_.TPM_.PTS_, MethodObj)    // 1 Arguments
    External (_SB_.TRPD, UnknownObj)
    External (_SB_.TRPF, UnknownObj)
    External (_SB_.UBTC, DeviceObj)
    External (_SB_.UBTC.CCI0, IntObj)
    External (_SB_.UBTC.CCI1, IntObj)
    External (_SB_.UBTC.CCI2, IntObj)
    External (_SB_.UBTC.CCI3, IntObj)
    External (_SB_.UBTC.CTL0, IntObj)
    External (_SB_.UBTC.CTL1, IntObj)
    External (_SB_.UBTC.CTL2, IntObj)
    External (_SB_.UBTC.CTL3, IntObj)
    External (_SB_.UBTC.CTL4, IntObj)
    External (_SB_.UBTC.CTL5, IntObj)
    External (_SB_.UBTC.CTL6, IntObj)
    External (_SB_.UBTC.CTL7, IntObj)
    External (_SB_.UBTC.MGI0, IntObj)
    External (_SB_.UBTC.MGI1, IntObj)
    External (_SB_.UBTC.MGI2, IntObj)
    External (_SB_.UBTC.MGI3, IntObj)
    External (_SB_.UBTC.MGI4, IntObj)
    External (_SB_.UBTC.MGI5, IntObj)
    External (_SB_.UBTC.MGI6, IntObj)
    External (_SB_.UBTC.MGI7, IntObj)
    External (_SB_.UBTC.MGI8, IntObj)
    External (_SB_.UBTC.MGI9, IntObj)
    External (_SB_.UBTC.MGIA, IntObj)
    External (_SB_.UBTC.MGIB, IntObj)
    External (_SB_.UBTC.MGIC, IntObj)
    External (_SB_.UBTC.MGID, IntObj)
    External (_SB_.UBTC.MGIE, IntObj)
    External (_SB_.UBTC.MGIF, IntObj)
    External (_SB_.UBTC.MGO0, IntObj)
    External (_SB_.UBTC.MGO1, IntObj)
    External (_SB_.UBTC.MGO2, IntObj)
    External (_SB_.UBTC.MGO3, IntObj)
    External (_SB_.UBTC.MGO4, IntObj)
    External (_SB_.UBTC.MGO5, IntObj)
    External (_SB_.UBTC.MGO6, IntObj)
    External (_SB_.UBTC.MGO7, IntObj)
    External (_SB_.UBTC.MGO8, IntObj)
    External (_SB_.UBTC.MGO9, IntObj)
    External (_SB_.UBTC.MGOA, IntObj)
    External (_SB_.UBTC.MGOB, IntObj)
    External (_SB_.UBTC.MGOC, IntObj)
    External (_SB_.UBTC.MGOD, IntObj)
    External (_SB_.UBTC.MGOE, IntObj)
    External (_SB_.UBTC.MGOF, IntObj)
    External (_SB_.UBTC.RSV1, IntObj)
    External (_SB_.UBTC.RSV2, IntObj)
    External (_SB_.UBTC.VER1, IntObj)
    External (_SB_.UBTC.VER2, IntObj)
    External (_TZ_.ETMD, IntObj)
    External (_TZ_.TZ00, DeviceObj)
    External (_TZ_.TZ00._TMP, MethodObj)    // 0 Arguments
    External (AC0F, FieldUnitObj)
    External (AC1F, FieldUnitObj)
    External (ACET, IntObj)
    External (ACWA, IntObj)
    External (ADBG, MethodObj)    // 1 Arguments
    External (ARLP, UnknownObj)
    External (ARLS, UnknownObj)
    External (B1DN, IntObj)
    External (B1MN, IntObj)
    External (B1SN, IntObj)
    External (BGIA, IntObj)
    External (BGMA, IntObj)
    External (BGMS, IntObj)
    External (BRMT, IntObj)
    External (CGLS, UnknownObj)
    External (CNMT, UnknownObj)
    External (DBRL, IntObj)
    External (DCET, IntObj)
    External (DCWA, IntObj)
    External (DGBA, UnknownObj)
    External (DGD1, IntObj)
    External (DGD2, IntObj)
    External (DGD3, IntObj)
    External (DGD4, IntObj)
    External (DGD5, IntObj)
    External (DGD6, IntObj)
    External (DGD7, IntObj)
    External (DGD8, IntObj)
    External (DGD9, IntObj)
    External (DGDA, IntObj)
    External (DGDB, IntObj)
    External (DGDC, IntObj)
    External (DGDD, IntObj)
    External (DGDE, IntObj)
    External (DGDF, IntObj)
    External (DGDX, UnknownObj)
    External (DIDX, UnknownObj)
    External (DIDY, UnknownObj)
    External (DME0, UnknownObj)
    External (DME1, UnknownObj)
    External (DPRS, IntObj)
    External (DPTR, IntObj)
    External (DSCE, IntObj)
    External (DTFS, UnknownObj)
    External (DTRT, UnknownObj)
    External (EPTU, FieldUnitObj)
    External (ESPC, UnknownObj)
    External (GBES, UnknownObj)
    External (GMIO, MethodObj)    // 3 Arguments
    External (GPRV, MethodObj)    // 2 Arguments
    External (HDBO, UnknownObj)
    External (HGDT, UnknownObj)
    External (IGDS, FieldUnitObj)
    External (ISAR, MethodObj)    // 4 Arguments
    External (ITSP, IntObj)
    External (LIDS, FieldUnitObj)
    External (M32B, IntObj)
    External (M32L, IntObj)
    External (M64B, IntObj)
    External (M64L, IntObj)
    External (P0WK, UnknownObj)
    External (P1WK, UnknownObj)
    External (P2WK, UnknownObj)
    External (P3WK, UnknownObj)
    External (PBNU, IntObj)
    External (PBSB, IntObj)
    External (PBSS, FieldUnitObj)
    External (PCHS, FieldUnitObj)
    External (PG3S, UnknownObj)
    External (PPOE, UnknownObj)
    External (PSON, UnknownObj)
    External (PWRS, FieldUnitObj)
    External (RPN0, IntObj)
    External (RPN1, IntObj)
    External (RPS0, IntObj)
    External (RPS1, IntObj)
    External (RPSG, FieldUnitObj)
    External (RSTY, IntObj)
    External (SIME, UnknownObj)
    External (SPNT, MethodObj)    // 0 Arguments
    External (SPTS, MethodObj)    // 1 Arguments
    External (STD3, FieldUnitObj)
    External (SWAK, MethodObj)    // 2 Arguments
    External (TDCE, UnknownObj)
    External (TFWB, FieldUnitObj)
    External (THCE, UnknownObj)
    External (TRE0, UnknownObj)
    External (TRE1, UnknownObj)
    External (TRE2, UnknownObj)
    External (TRE3, UnknownObj)
    External (TVBS, FieldUnitObj)
    External (VMDE, FieldUnitObj)
    External (VMSP, UnknownObj)

    Name (SANB, 0x65DE2D18)
    Name (SANL, 0x0138)
    Name (VMNB, 0xFFFF0000)
    Name (VMNL, 0xAA55)
    Name (BRMT, Zero)
    Name (RDLY, 0xA0)
    OperationRegion (SANV, SystemMemory, SANB, SANL)
    Field (SANV, AnyAcc, Lock, Preserve)
    {
        ASLB,   32, 
        IGDS,   8, 
        NDID,   8, 
        DID1,   32, 
        DID2,   32, 
        DID3,   32, 
        DID4,   32, 
        DID5,   32, 
        DID6,   32, 
        DID7,   32, 
        DID8,   32, 
        DID9,   32, 
        DIDA,   32, 
        DIDB,   32, 
        DIDC,   32, 
        DIDD,   32, 
        DIDE,   32, 
        DIDF,   32, 
        DIDX,   32, 
        NXD1,   32, 
        NXD2,   32, 
        NXD3,   32, 
        NXD4,   32, 
        NXD5,   32, 
        NXD6,   32, 
        NXD7,   32, 
        NXD8,   32, 
        NXDX,   32, 
        LIDS,   8, 
        BRTL,   8, 
        ALSE,   8, 
        LLOW,   8, 
        LHIH,   8, 
        IPTP,   8, 
        EDPV,   8, 
        DLPW,   16, 
        DLHR,   16, 
        XBAS,   32, 
        AMDA,   32, 
        LTRZ,   8, 
        M64B,   64, 
        M64L,   64, 
        CPEX,   32, 
        M32B,   32, 
        M32L,   32, 
        P0WK,   32, 
        P1WK,   32, 
        P2WK,   32, 
        VTDS,   8, 
        VTB1,   32, 
        VTB2,   32, 
        VTB3,   32, 
        VTB4,   32, 
        VTB5,   32, 
        VTB6,   32, 
        VTB7,   32, 
        VE1V,   16, 
        VE2V,   16, 
        RPIN,   8, 
        RPBA,   32, 
        SIME,   8, 
        THCE,   8, 
        TDCE,   8, 
        DME0,   8, 
        DME1,   8, 
        TRE0,   8, 
        TRE1,   8, 
        TRE2,   8, 
        TRE3,   8, 
        TPA0,   32, 
        TPA1,   32, 
        TPA2,   32, 
        TPA3,   32, 
        TCDS,   32, 
        TCIT,   8, 
        TCIR,   8, 
        TRTD,   8, 
        ITM0,   32, 
        ITM1,   32, 
        LTE0,   8, 
        LTE1,   8, 
        LTE2,   8, 
        LTE3,   8, 
        PSL0,   16, 
        PSL1,   16, 
        PSL2,   16, 
        PSL3,   16, 
        PNS0,   16, 
        PNS1,   16, 
        PNS2,   16, 
        PNS3,   16, 
        IMRY,   8, 
        TIVS,   8, 
        DIDY,   32, 
        NXDY,   32, 
        SLTS,   8, 
        MPGN,   8, 
        CMBM,   8, 
        DPMS,   8, 
        PMSA,   64, 
        PMRL,   64, 
        PBR1,   8, 
        PBR2,   8, 
        PBR3,   8, 
        REGO,   16, 
        IOMB,   64, 
        RTBM,   8, 
        RPCC,   32
    }

    Name (SS1, Zero)
    Name (SS2, Zero)
    Name (SS3, Zero)
    Name (SS4, One)
    OperationRegion (GNVS, SystemMemory, 0x65DD7018, 0x0DA6)
    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, 
        PWRS,   8, 
        DBGS,   8, 
        THOF,   8, 
        ACT1,   8, 
        ACTT,   8, 
        PSVT,   8, 
        TC1V,   8, 
        TC2V,   8, 
        TSPV,   8, 
        CRTT,   8, 
        REVN,   8, 
        APIC,   8, 
        TCNT,   8, 
        PCP0,   8, 
        PCP1,   8, 
        PPCM,   8, 
        PPMF,   32, 
        C67L,   8, 
        NATP,   8, 
        CMAP,   8, 
        CMBP,   8, 
        LPTP,   8, 
        FDCP,   8, 
        CMCP,   8, 
        CIRP,   8, 
        SMSC,   8, 
        W381,   8, 
        SMC1,   8, 
        EMAE,   8, 
        EMAP,   16, 
        EMAL,   16, 
        MEFE,   8, 
        DSTS,   8, 
        MORD,   8, 
        TCGP,   8, 
        PPRP,   32, 
        PPRQ,   8, 
        LPPR,   8, 
        IDEM,   8, 
        PLID,   8, 
        BTYP,   8, 
        OSCC,   8, 
        NEXP,   8, 
        SBV1,   8, 
        SBV2,   8, 
        ECON,   8, 
        DSEN,   8, 
        GPIC,   8, 
        CTYP,   8, 
        L01C,   8, 
        VFN0,   8, 
        VFN1,   8, 
        VFN2,   8, 
        VFN3,   8, 
        VFN4,   8, 
        VFN5,   8, 
        VFN6,   8, 
        VFN7,   8, 
        VFN8,   8, 
        VFN9,   8, 
        PNHM,   32, 
        TBAL,   32, 
        TBAH,   32, 
        TSOD,   8, 
        PFLV,   8, 
        BREV,   16, 
        PAMT,   8, 
        AC0F,   8, 
        AC1F,   8, 
        XTUB,   32, 
        XTUS,   32, 
        XMPB,   32, 
        DDRF,   8, 
        RTD3,   8, 
        PEP0,   8, 
        PEP3,   8, 
        PGRT,   8, 
        S0ID,   8, 
        PUIS,   8, 
        CTDB,   8, 
        DKSM,   8, 
        SIO1,   16, 
        SIO2,   16, 
        SPBA,   16, 
        Offset (0x1F3), 
        PG3S,   8, 
        XHPR,   8, 
        RIC0,   8, 
        GBSX,   8, 
        AUDD,   16, 
        IC0D,   16, 
        IC1D,   16, 
        IC1S,   16, 
        VRRD,   16, 
        PSCP,   8, 
        I20D,   16, 
        I21D,   16, 
        RCG0,   16, 
        RCG1,   16, 
        STD3,   8, 
        P2ME,   8, 
        SCMK,   8, 
        SSH0,   16, 
        SSL0,   16, 
        SSD0,   16, 
        FMH0,   16, 
        FML0,   16, 
        FMD0,   16, 
        FPH0,   16, 
        FPL0,   16, 
        FPD0,   16, 
        HSH0,   16, 
        HSL0,   16, 
        HSD0,   16, 
        Offset (0x23D), 
        SSH1,   16, 
        SSL1,   16, 
        SSD1,   16, 
        FMH1,   16, 
        FML1,   16, 
        FMD1,   16, 
        FPH1,   16, 
        FPL1,   16, 
        FPD1,   16, 
        HSH1,   16, 
        HSL1,   16, 
        HSD1,   16, 
        Offset (0x256), 
        SSH2,   16, 
        SSL2,   16, 
        SSD2,   16, 
        FMH2,   16, 
        FML2,   16, 
        FMD2,   16, 
        FPH2,   16, 
        FPL2,   16, 
        FPD2,   16, 
        HSH2,   16, 
        HSL2,   16, 
        HSD2,   16, 
        Offset (0x26F), 
        SSH3,   16, 
        SSL3,   16, 
        SSD3,   16, 
        FMH3,   16, 
        FML3,   16, 
        FMD3,   16, 
        FPH3,   16, 
        FPL3,   16, 
        FPD3,   16, 
        HSH3,   16, 
        HSL3,   16, 
        HSD3,   16, 
        Offset (0x288), 
        SSH4,   16, 
        SSL4,   16, 
        SSD4,   16, 
        FMH4,   16, 
        FML4,   16, 
        FMD4,   16, 
        FPH4,   16, 
        FPL4,   16, 
        FPD4,   16, 
        HSH4,   16, 
        HSL4,   16, 
        HSD4,   16, 
        Offset (0x2A1), 
        SSH5,   16, 
        SSL5,   16, 
        SSD5,   16, 
        FMH5,   16, 
        FML5,   16, 
        FMD5,   16, 
        FPH5,   16, 
        FPL5,   16, 
        FPD5,   16, 
        HSH5,   16, 
        HSL5,   16, 
        HSD5,   16, 
        Offset (0x2BA), 
        M0C0,   16, 
        M1C0,   16, 
        M0C1,   16, 
        M1C1,   16, 
        M0C2,   16, 
        M1C2,   16, 
        M0C3,   16, 
        M1C3,   16, 
        M0C4,   16, 
        M1C4,   16, 
        M0C5,   16, 
        M1C5,   16, 
        M0C6,   16, 
        M1C6,   16, 
        M0C7,   16, 
        M1C7,   16, 
        M0C8,   16, 
        M1C8,   16, 
        Offset (0x2DF), 
        M0C9,   16, 
        M1C9,   16, 
        M0CA,   16, 
        M1CA,   16, 
        M0CB,   16, 
        M1CB,   16, 
        Offset (0x2EC), 
        GIRQ,   32, 
        DMTP,   8, 
        DMTD,   8, 
        DMSH,   8, 
        SHSB,   8, 
        PLCS,   8, 
        PLVL,   16, 
        WWSD,   8, 
        CVSD,   8, 
        SSDD,   8, 
        INLD,   8, 
        IFAT,   8, 
        IFPT,   8, 
        IFCT,   8, 
        IFHT,   8, 
        USBH,   8, 
        BCV4,   8, 
        WTV0,   8, 
        WTV1,   8, 
        APFU,   8, 
        Offset (0x30A), 
        PEPC,   64, 
        VRSD,   16, 
        PB1E,   8, 
        GNID,   8, 
        Offset (0x320), 
        AUPL,   32, 
        ESPC,   8, 
        PSME,   8, 
        PDT1,   8, 
        PLM1,   32, 
        PTW1,   32, 
        DDT1,   8, 
        DDP1,   8, 
        DLI1,   16, 
        DPL1,   16, 
        DTW1,   32, 
        DMI1,   16, 
        DMA1,   16, 
        DMT1,   16, 
        WIFE,   8, 
        DOM1,   8, 
        LIM1,   16, 
        TIM1,   32, 
        TRD0,   8, 
        TRL0,   8, 
        TRD1,   8, 
        TRL1,   8, 
        WDM1,   8, 
        CID1,   16, 
        Offset (0x3FB), 
        SDS0,   8, 
        SDS1,   8, 
        SDS2,   8, 
        SDS3,   8, 
        SDS4,   8, 
        SDS5,   8, 
        SDS6,   8, 
        SDS7,   8, 
        SDS8,   8, 
        SDS9,   8, 
        SDSA,   8, 
        TPLT,   8, 
        TPLM,   8, 
        TPLB,   8, 
        TPLH,   16, 
        TPLS,   8, 
        TPDT,   8, 
        TPDM,   8, 
        TPDB,   8, 
        TPDH,   16, 
        TPDS,   8, 
        FPTT,   8, 
        FPTM,   8, 
        WTVX,   8, 
        WITX,   8, 
        GPTD,   8, 
        GDBT,   16, 
        UTKX,   8, 
        SPTD,   8, 
        Offset (0x42A), 
        ATLB,   32, 
        SDM0,   8, 
        SDM1,   8, 
        SDM2,   8, 
        SDM3,   8, 
        SDM4,   8, 
        SDM5,   8, 
        SDM6,   8, 
        SDM7,   8, 
        SDM8,   8, 
        SDM9,   8, 
        SDMA,   8, 
        SDMB,   8, 
        Offset (0x43B), 
        USTP,   8, 
        Offset (0x465), 
        GFPS,   32, 
        GFPI,   32, 
        WBBR,   32, 
        GBTK,   32, 
        GBTI,   32, 
        GPDI,   32, 
        CL00,   8, 
        CL01,   8, 
        CL02,   8, 
        CL03,   8, 
        CL04,   8, 
        CL05,   8, 
        L0EN,   8, 
        L1EN,   8, 
        L2EN,   8, 
        L3EN,   8, 
        L4EN,   8, 
        L5EN,   8, 
        L0LC,   8, 
        L1LC,   8, 
        L2LC,   8, 
        L3LC,   8, 
        L4LC,   8, 
        L5LC,   8, 
        C0VE,   8, 
        C0TP,   8, 
        C0CV,   8, 
        C0IC,   32, 
        C0GP,   8, 
        C0IB,   8, 
        C0IA,   16, 
        C0P0,   8, 
        C0P1,   8, 
        C0P2,   8, 
        C0P3,   8, 
        C0P4,   8, 
        C0P5,   8, 
        C0G0,   8, 
        C0G1,   8, 
        C0G2,   8, 
        C0G3,   8, 
        C0G4,   8, 
        C0G5,   8, 
        C0F0,   8, 
        C0F1,   8, 
        C0F2,   8, 
        C0F3,   8, 
        C0F4,   8, 
        C0F5,   8, 
        C0A0,   8, 
        C0A1,   8, 
        C0A2,   8, 
        C0A3,   8, 
        C0A4,   8, 
        C0A5,   8, 
        C0I0,   8, 
        C0I1,   8, 
        C0I2,   8, 
        C0I3,   8, 
        C0I4,   8, 
        C0I5,   8, 
        C0PL,   8, 
        C0W0,   8, 
        C0W1,   8, 
        C0W2,   8, 
        C0W3,   8, 
        C0SP,   8, 
        C0W4,   8, 
        C0W5,   8, 
        C0CS,   8, 
        C1VE,   8, 
        C1TP,   8, 
        C1CV,   8, 
        C1IC,   32, 
        C1GP,   8, 
        C1IB,   8, 
        C1IA,   16, 
        C1P0,   8, 
        C1P1,   8, 
        C1P2,   8, 
        C1P3,   8, 
        C1P4,   8, 
        C1P5,   8, 
        C1G0,   8, 
        C1G1,   8, 
        C1G2,   8, 
        C1G3,   8, 
        C1G4,   8, 
        C1G5,   8, 
        C1F0,   8, 
        C1F1,   8, 
        C1F2,   8, 
        C1F3,   8, 
        C1F4,   8, 
        C1F5,   8, 
        C1A0,   8, 
        C1A1,   8, 
        C1A2,   8, 
        C1A3,   8, 
        C1A4,   8, 
        C1A5,   8, 
        C1I0,   8, 
        C1I1,   8, 
        C1I2,   8, 
        C1I3,   8, 
        C1I4,   8, 
        C1I5,   8, 
        C1PL,   8, 
        C1W0,   8, 
        C1W1,   8, 
        C1W2,   8, 
        C1W3,   8, 
        C1SP,   8, 
        C1W4,   8, 
        C1W5,   8, 
        C1CS,   8, 
        C2VE,   8, 
        C2TP,   8, 
        C2CV,   8, 
        C2IC,   32, 
        C2GP,   8, 
        C2IB,   8, 
        C2IA,   16, 
        C2P0,   8, 
        C2P1,   8, 
        C2P2,   8, 
        C2P3,   8, 
        C2P4,   8, 
        C2P5,   8, 
        C2G0,   8, 
        C2G1,   8, 
        C2G2,   8, 
        C2G3,   8, 
        C2G4,   8, 
        C2G5,   8, 
        C2F0,   8, 
        C2F1,   8, 
        C2F2,   8, 
        C2F3,   8, 
        C2F4,   8, 
        C2F5,   8, 
        C2A0,   8, 
        C2A1,   8, 
        C2A2,   8, 
        C2A3,   8, 
        C2A4,   8, 
        C2A5,   8, 
        C2I0,   8, 
        C2I1,   8, 
        C2I2,   8, 
        C2I3,   8, 
        C2I4,   8, 
        C2I5,   8, 
        C2PL,   8, 
        C2W0,   8, 
        C2W1,   8, 
        C2W2,   8, 
        C2W3,   8, 
        C2SP,   8, 
        C2W4,   8, 
        C2W5,   8, 
        C2CS,   8, 
        C3VE,   8, 
        C3TP,   8, 
        C3CV,   8, 
        C3IC,   32, 
        C3GP,   8, 
        C3IB,   8, 
        C3IA,   16, 
        C3P0,   8, 
        C3P1,   8, 
        C3P2,   8, 
        C3P3,   8, 
        C3P4,   8, 
        C3P5,   8, 
        C3G0,   8, 
        C3G1,   8, 
        C3G2,   8, 
        C3G3,   8, 
        C3G4,   8, 
        C3G5,   8, 
        C3F0,   8, 
        C3F1,   8, 
        C3F2,   8, 
        C3F3,   8, 
        C3F4,   8, 
        C3F5,   8, 
        C3A0,   8, 
        C3A1,   8, 
        C3A2,   8, 
        C3A3,   8, 
        C3A4,   8, 
        C3A5,   8, 
        C3I0,   8, 
        C3I1,   8, 
        C3I2,   8, 
        C3I3,   8, 
        C3I4,   8, 
        C3I5,   8, 
        C3PL,   8, 
        C3W0,   8, 
        C3W1,   8, 
        C3W2,   8, 
        C3W3,   8, 
        C3SP,   8, 
        C3W4,   8, 
        C3W5,   8, 
        C3CS,   8, 
        C4VE,   8, 
        C4TP,   8, 
        C4CV,   8, 
        C4IC,   32, 
        C4GP,   8, 
        C4IB,   8, 
        C4IA,   16, 
        C4P0,   8, 
        C4P1,   8, 
        C4P2,   8, 
        C4P3,   8, 
        C4P4,   8, 
        C4P5,   8, 
        C4G0,   8, 
        C4G1,   8, 
        C4G2,   8, 
        C4G3,   8, 
        C4G4,   8, 
        C4G5,   8, 
        C4F0,   8, 
        C4F1,   8, 
        C4F2,   8, 
        C4F3,   8, 
        C4F4,   8, 
        C4F5,   8, 
        C4A0,   8, 
        C4A1,   8, 
        C4A2,   8, 
        C4A3,   8, 
        C4A4,   8, 
        C4A5,   8, 
        C4I0,   8, 
        C4I1,   8, 
        C4I2,   8, 
        C4I3,   8, 
        C4I4,   8, 
        C4I5,   8, 
        C4PL,   8, 
        C4W0,   8, 
        C4W1,   8, 
        C4W2,   8, 
        C4W3,   8, 
        C4SP,   8, 
        C4W4,   8, 
        C4W5,   8, 
        C4CS,   8, 
        C5VE,   8, 
        C5TP,   8, 
        C5CV,   8, 
        C5IC,   32, 
        C5GP,   8, 
        C5IB,   8, 
        C5IA,   16, 
        C5P0,   8, 
        C5P1,   8, 
        C5P2,   8, 
        C5P3,   8, 
        C5P4,   8, 
        C5P5,   8, 
        C5G0,   8, 
        C5G1,   8, 
        C5G2,   8, 
        C5G3,   8, 
        C5G4,   8, 
        C5G5,   8, 
        C5F0,   8, 
        C5F1,   8, 
        C5F2,   8, 
        C5F3,   8, 
        C5F4,   8, 
        C5F5,   8, 
        C5A0,   8, 
        C5A1,   8, 
        C5A2,   8, 
        C5A3,   8, 
        C5A4,   8, 
        C5A5,   8, 
        C5I0,   8, 
        C5I1,   8, 
        C5I2,   8, 
        C5I3,   8, 
        C5I4,   8, 
        C5I5,   8, 
        C5PL,   8, 
        C5W0,   8, 
        C5W1,   8, 
        C5W2,   8, 
        C5W3,   8, 
        C5SP,   8, 
        C5W4,   8, 
        C5W5,   8, 
        C5CS,   8, 
        L0SM,   8, 
        L0H0,   8, 
        L0H1,   8, 
        L0H2,   8, 
        L0H3,   8, 
        L0H4,   8, 
        L0H5,   8, 
        L0H6,   8, 
        L0H7,   8, 
        L0H8,   8, 
        L0PL,   8, 
        L0M0,   8, 
        L0M1,   8, 
        L0M2,   8, 
        L0M3,   8, 
        L0M4,   8, 
        L0M5,   8, 
        L0M6,   8, 
        L0M7,   8, 
        L0M8,   8, 
        L0M9,   8, 
        L0MA,   8, 
        L0MB,   8, 
        L0MC,   8, 
        L0MD,   8, 
        L0ME,   8, 
        L0MF,   8, 
        L0DI,   8, 
        L0BS,   8, 
        L0A0,   16, 
        L0A1,   16, 
        L0A2,   16, 
        L0A3,   16, 
        L0A4,   16, 
        L0A5,   16, 
        L0A6,   16, 
        L0A7,   16, 
        L0A8,   16, 
        L0A9,   16, 
        L0AA,   16, 
        L0AB,   16, 
        L0D0,   8, 
        L0D1,   8, 
        L0D2,   8, 
        L0D3,   8, 
        L0D4,   8, 
        L0D5,   8, 
        L0D6,   8, 
        L0D7,   8, 
        L0D8,   8, 
        L0D9,   8, 
        L0DA,   8, 
        L0DB,   8, 
        L0DV,   8, 
        L0CV,   8, 
        L0LU,   8, 
        L0NL,   8, 
        L0EE,   8, 
        L0VC,   8, 
        L0FS,   8, 
        L0LE,   8, 
        L0DG,   8, 
        L0CK,   32, 
        L0CL,   8, 
        L0PP,   8, 
        L0VR,   8, 
        L0FD,   8, 
        L1SM,   8, 
        L1H0,   8, 
        L1H1,   8, 
        L1H2,   8, 
        L1H3,   8, 
        L1H4,   8, 
        L1H5,   8, 
        L1H6,   8, 
        L1H7,   8, 
        L1H8,   8, 
        L1PL,   8, 
        L1M0,   8, 
        L1M1,   8, 
        L1M2,   8, 
        L1M3,   8, 
        L1M4,   8, 
        L1M5,   8, 
        L1M6,   8, 
        L1M7,   8, 
        L1M8,   8, 
        L1M9,   8, 
        L1MA,   8, 
        L1MB,   8, 
        L1MC,   8, 
        L1MD,   8, 
        L1ME,   8, 
        L1MF,   8, 
        L1DI,   8, 
        L1BS,   8, 
        L1A0,   16, 
        L1A1,   16, 
        L1A2,   16, 
        L1A3,   16, 
        L1A4,   16, 
        L1A5,   16, 
        L1A6,   16, 
        L1A7,   16, 
        L1A8,   16, 
        L1A9,   16, 
        L1AA,   16, 
        L1AB,   16, 
        L1D0,   8, 
        L1D1,   8, 
        L1D2,   8, 
        L1D3,   8, 
        L1D4,   8, 
        L1D5,   8, 
        L1D6,   8, 
        L1D7,   8, 
        L1D8,   8, 
        L1D9,   8, 
        L1DA,   8, 
        L1DB,   8, 
        L1DV,   8, 
        L1CV,   8, 
        L1LU,   8, 
        L1NL,   8, 
        L1EE,   8, 
        L1VC,   8, 
        L1FS,   8, 
        L1LE,   8, 
        L1DG,   8, 
        L1CK,   32, 
        L1CL,   8, 
        L1PP,   8, 
        L1VR,   8, 
        L1FD,   8, 
        L2SM,   8, 
        L2H0,   8, 
        L2H1,   8, 
        L2H2,   8, 
        L2H3,   8, 
        L2H4,   8, 
        L2H5,   8, 
        L2H6,   8, 
        L2H7,   8, 
        L2H8,   8, 
        L2PL,   8, 
        L2M0,   8, 
        L2M1,   8, 
        L2M2,   8, 
        L2M3,   8, 
        L2M4,   8, 
        L2M5,   8, 
        L2M6,   8, 
        L2M7,   8, 
        L2M8,   8, 
        L2M9,   8, 
        L2MA,   8, 
        L2MB,   8, 
        L2MC,   8, 
        L2MD,   8, 
        L2ME,   8, 
        L2MF,   8, 
        L2DI,   8, 
        L2BS,   8, 
        L2A0,   16, 
        L2A1,   16, 
        L2A2,   16, 
        L2A3,   16, 
        L2A4,   16, 
        L2A5,   16, 
        L2A6,   16, 
        L2A7,   16, 
        L2A8,   16, 
        L2A9,   16, 
        L2AA,   16, 
        L2AB,   16, 
        L2D0,   8, 
        L2D1,   8, 
        L2D2,   8, 
        L2D3,   8, 
        L2D4,   8, 
        L2D5,   8, 
        L2D6,   8, 
        L2D7,   8, 
        L2D8,   8, 
        L2D9,   8, 
        L2DA,   8, 
        L2DB,   8, 
        L2DV,   8, 
        L2CV,   8, 
        L2LU,   8, 
        L2NL,   8, 
        L2EE,   8, 
        L2VC,   8, 
        L2FS,   8, 
        L2LE,   8, 
        L2DG,   8, 
        L2CK,   32, 
        L2CL,   8, 
        L2PP,   8, 
        L2VR,   8, 
        L2FD,   8, 
        L3SM,   8, 
        L3H0,   8, 
        L3H1,   8, 
        L3H2,   8, 
        L3H3,   8, 
        L3H4,   8, 
        L3H5,   8, 
        L3H6,   8, 
        L3H7,   8, 
        L3H8,   8, 
        L3PL,   8, 
        L3M0,   8, 
        L3M1,   8, 
        L3M2,   8, 
        L3M3,   8, 
        L3M4,   8, 
        L3M5,   8, 
        L3M6,   8, 
        L3M7,   8, 
        L3M8,   8, 
        L3M9,   8, 
        L3MA,   8, 
        L3MB,   8, 
        L3MC,   8, 
        L3MD,   8, 
        L3ME,   8, 
        L3MF,   8, 
        L3DI,   8, 
        L3BS,   8, 
        L3A0,   16, 
        L3A1,   16, 
        L3A2,   16, 
        L3A3,   16, 
        L3A4,   16, 
        L3A5,   16, 
        L3A6,   16, 
        L3A7,   16, 
        L3A8,   16, 
        L3A9,   16, 
        L3AA,   16, 
        L3AB,   16, 
        L3D0,   8, 
        L3D1,   8, 
        L3D2,   8, 
        L3D3,   8, 
        L3D4,   8, 
        L3D5,   8, 
        L3D6,   8, 
        L3D7,   8, 
        L3D8,   8, 
        L3D9,   8, 
        L3DA,   8, 
        L3DB,   8, 
        L3DV,   8, 
        L3CV,   8, 
        L3LU,   8, 
        L3NL,   8, 
        L3EE,   8, 
        L3VC,   8, 
        L3FS,   8, 
        L3LE,   8, 
        L3DG,   8, 
        L3CK,   32, 
        L3CL,   8, 
        L3PP,   8, 
        L3VR,   8, 
        L3FD,   8, 
        L4SM,   8, 
        L4H0,   8, 
        L4H1,   8, 
        L4H2,   8, 
        L4H3,   8, 
        L4H4,   8, 
        L4H5,   8, 
        L4H6,   8, 
        L4H7,   8, 
        L4H8,   8, 
        L4PL,   8, 
        L4M0,   8, 
        L4M1,   8, 
        L4M2,   8, 
        L4M3,   8, 
        L4M4,   8, 
        L4M5,   8, 
        L4M6,   8, 
        L4M7,   8, 
        L4M8,   8, 
        L4M9,   8, 
        L4MA,   8, 
        L4MB,   8, 
        L4MC,   8, 
        L4MD,   8, 
        L4ME,   8, 
        L4MF,   8, 
        L4DI,   8, 
        L4BS,   8, 
        L4A0,   16, 
        L4A1,   16, 
        L4A2,   16, 
        L4A3,   16, 
        L4A4,   16, 
        L4A5,   16, 
        L4A6,   16, 
        L4A7,   16, 
        L4A8,   16, 
        L4A9,   16, 
        L4AA,   16, 
        L4AB,   16, 
        L4D0,   8, 
        L4D1,   8, 
        L4D2,   8, 
        L4D3,   8, 
        L4D4,   8, 
        L4D5,   8, 
        L4D6,   8, 
        L4D7,   8, 
        L4D8,   8, 
        L4D9,   8, 
        L4DA,   8, 
        L4DB,   8, 
        L4DV,   8, 
        L4CV,   8, 
        L4LU,   8, 
        L4NL,   8, 
        L4EE,   8, 
        L4VC,   8, 
        L4FS,   8, 
        L4LE,   8, 
        L4DG,   8, 
        L4CK,   32, 
        L4CL,   8, 
        L4PP,   8, 
        L4VR,   8, 
        L4FD,   8, 
        L5SM,   8, 
        L5H0,   8, 
        L5H1,   8, 
        L5H2,   8, 
        L5H3,   8, 
        L5H4,   8, 
        L5H5,   8, 
        L5H6,   8, 
        L5H7,   8, 
        L5H8,   8, 
        L5PL,   8, 
        L5M0,   8, 
        L5M1,   8, 
        L5M2,   8, 
        L5M3,   8, 
        L5M4,   8, 
        L5M5,   8, 
        L5M6,   8, 
        L5M7,   8, 
        L5M8,   8, 
        L5M9,   8, 
        L5MA,   8, 
        L5MB,   8, 
        L5MC,   8, 
        L5MD,   8, 
        L5ME,   8, 
        L5MF,   8, 
        L5DI,   8, 
        L5BS,   8, 
        L5A0,   16, 
        L5A1,   16, 
        L5A2,   16, 
        L5A3,   16, 
        L5A4,   16, 
        L5A5,   16, 
        L5A6,   16, 
        L5A7,   16, 
        L5A8,   16, 
        L5A9,   16, 
        L5AA,   16, 
        L5AB,   16, 
        L5D0,   8, 
        L5D1,   8, 
        L5D2,   8, 
        L5D3,   8, 
        L5D4,   8, 
        L5D5,   8, 
        L5D6,   8, 
        L5D7,   8, 
        L5D8,   8, 
        L5D9,   8, 
        L5DA,   8, 
        L5DB,   8, 
        L5DV,   8, 
        L5CV,   8, 
        L5LU,   8, 
        L5NL,   8, 
        L5EE,   8, 
        L5VC,   8, 
        L5FS,   8, 
        L5LE,   8, 
        L5DG,   8, 
        L5CK,   32, 
        L5CL,   8, 
        L5PP,   8, 
        L5VR,   8, 
        L5FD,   8, 
        F0FM,   8, 
        F0MS,   8, 
        F0M0,   8, 
        F0M1,   8, 
        F0M2,   8, 
        F0M3,   8, 
        F0M4,   8, 
        F0M5,   8, 
        F0M6,   8, 
        F0M7,   8, 
        F0M8,   8, 
        F0M9,   8, 
        F0MA,   8, 
        F0MB,   8, 
        F0MC,   8, 
        F0MD,   8, 
        F0ME,   8, 
        F0MF,   8, 
        F0BS,   8, 
        F0AB,   16, 
        F0GP,   8, 
        F0GG,   16, 
        F0AV,   8, 
        F0IV,   8, 
        F0OM,   8, 
        F1FM,   8, 
        F1MS,   8, 
        F1M0,   8, 
        F1M1,   8, 
        F1M2,   8, 
        F1M3,   8, 
        F1M4,   8, 
        F1M5,   8, 
        F1M6,   8, 
        F1M7,   8, 
        F1M8,   8, 
        F1M9,   8, 
        F1MA,   8, 
        F1MB,   8, 
        F1MC,   8, 
        F1MD,   8, 
        F1ME,   8, 
        F1MF,   8, 
        F1BS,   8, 
        F1AB,   16, 
        F1GP,   8, 
        F1GG,   16, 
        F1AV,   8, 
        F1IV,   8, 
        F1OM,   8, 
        F2FM,   8, 
        F2MS,   8, 
        F2M0,   8, 
        F2M1,   8, 
        F2M2,   8, 
        F2M3,   8, 
        F2M4,   8, 
        F2M5,   8, 
        F2M6,   8, 
        F2M7,   8, 
        F2M8,   8, 
        F2M9,   8, 
        F2MA,   8, 
        F2MB,   8, 
        F2MC,   8, 
        F2MD,   8, 
        F2ME,   8, 
        F2MF,   8, 
        F2BS,   8, 
        F2AB,   16, 
        F2GP,   8, 
        F2GG,   16, 
        F2AV,   8, 
        F2IV,   8, 
        F2OM,   8, 
        F3FM,   8, 
        F3MS,   8, 
        F3M0,   8, 
        F3M1,   8, 
        F3M2,   8, 
        F3M3,   8, 
        F3M4,   8, 
        F3M5,   8, 
        F3M6,   8, 
        F3M7,   8, 
        F3M8,   8, 
        F3M9,   8, 
        F3MA,   8, 
        F3MB,   8, 
        F3MC,   8, 
        F3MD,   8, 
        F3ME,   8, 
        F3MF,   8, 
        F3BS,   8, 
        F3AB,   16, 
        F3GP,   8, 
        F3GG,   16, 
        F3AV,   8, 
        F3IV,   8, 
        F3OM,   8, 
        F4FM,   8, 
        F4MS,   8, 
        F4M0,   8, 
        F4M1,   8, 
        F4M2,   8, 
        F4M3,   8, 
        F4M4,   8, 
        F4M5,   8, 
        F4M6,   8, 
        F4M7,   8, 
        F4M8,   8, 
        F4M9,   8, 
        F4MA,   8, 
        F4MB,   8, 
        F4MC,   8, 
        F4MD,   8, 
        F4ME,   8, 
        F4MF,   8, 
        F4BS,   8, 
        F4AB,   16, 
        F4GP,   8, 
        F4GG,   16, 
        F4AV,   8, 
        F4IV,   8, 
        F4OM,   8, 
        F5FM,   8, 
        F5MS,   8, 
        F5M0,   8, 
        F5M1,   8, 
        F5M2,   8, 
        F5M3,   8, 
        F5M4,   8, 
        F5M5,   8, 
        F5M6,   8, 
        F5M7,   8, 
        F5M8,   8, 
        F5M9,   8, 
        F5MA,   8, 
        F5MB,   8, 
        F5MC,   8, 
        F5MD,   8, 
        F5ME,   8, 
        F5MF,   8, 
        F5BS,   8, 
        F5AB,   16, 
        F5GP,   8, 
        F5GG,   16, 
        F5AV,   8, 
        F5IV,   8, 
        F5OM,   8, 
        Offset (0x84D), 
        ECR1,   8, 
        I2SC,   8, 
        I2SI,   32, 
        I2SB,   8, 
        UBCB,   32, 
        PPOE,   8, 
        Offset (0x85E), 
        WIFC,   8, 
        Offset (0x865), 
        ADPM,   32, 
        AG1L,   64, 
        AG1H,   64, 
        AG2L,   64, 
        AG2H,   64, 
        AG3L,   64, 
        AG3H,   64, 
        HEFE,   8, 
        XDCE,   8, 
        STXE,   8, 
        ST10,   8, 
        ST11,   8, 
        ST12,   8, 
        ST13,   8, 
        ST14,   8, 
        ST15,   8, 
        ST16,   8, 
        ST17,   8, 
        ST18,   8, 
        ST19,   8, 
        ENVM,   8, 
        DHSP,   16, 
        DSSP,   16, 
        DSTP,   8, 
        STDE,   8, 
        STRS,   8, 
        ST20,   8, 
        ST21,   8, 
        ST22,   8, 
        ST23,   8, 
        ST24,   8, 
        ST25,   8, 
        ST26,   8, 
        ST27,   8, 
        ST28,   8, 
        ST29,   8, 
        ST30,   8, 
        ST31,   8, 
        ST32,   8, 
        ST33,   8, 
        ST34,   8, 
        ST35,   8, 
        ST36,   8, 
        ST37,   8, 
        ST38,   8, 
        ST39,   8, 
        ST40,   8, 
        ST41,   8, 
        ST42,   8, 
        ST43,   8, 
        ST44,   8, 
        ST45,   8, 
        ST46,   8, 
        ST47,   8, 
        ST48,   8, 
        ST49,   8, 
        SD11,   8, 
        SD12,   8, 
        SD13,   8, 
        SD14,   8, 
        SD15,   8, 
        SD16,   8, 
        SD21,   8, 
        SD22,   8, 
        SD23,   8, 
        SD24,   8, 
        SD25,   8, 
        SD26,   8, 
        SD31,   8, 
        SD32,   8, 
        SD33,   8, 
        SD34,   8, 
        SD35,   8, 
        SD36,   8, 
        Offset (0x907), 
        SDAA,   8, 
        SDAB,   8, 
        BTSE,   8, 
        BIPM,   8, 
        BSPL,   8, 
        BTBR,   8, 
        BED2,   8, 
        BED3,   8, 
        BTLE,   8, 
        BTL2,   8, 
        BTLL,   8, 
        ATDV,   8, 
        COEM,   8, 
        RTVM,   8, 
        USTC,   8, 
        HEB1,   32, 
        TSDB,   8, 
        Offset (0x91C), 
        CVFS,   8, 
        CVFT,   8, 
        CUPN,   8, 
        SCSS,   8, 
        NCTC,   8, 
        NCTI,   8, 
        NCTH,   8, 
        HSIO,   8, 
        HUAR,   8, 
        ZPOD,   8, 
        RGBC,   8, 
        DPTC,   8, 
        CEDS,   8, 
        VBST,   8, 
        AEAB,   8, 
        AHDB,   8, 
        UCMS,   8, 
        UCG1,   32, 
        UCG2,   32, 
        RPSG,   32, 
        TBD3,   8, 
        Offset (0x972), 
        UDGF,   8, 
        UDUP,   8, 
        DBGF,   8, 
        DBUP,   8, 
        TTUP,   8, 
        TP1T,   8, 
        TP1P,   8, 
        TP1D,   8, 
        TP2T,   8, 
        TP2P,   8, 
        TP2D,   8, 
        TP3T,   8, 
        TP3P,   8, 
        TP3D,   8, 
        TP4T,   8, 
        TP4P,   8, 
        TP4D,   8, 
        TP5T,   8, 
        TP5P,   8, 
        TP5D,   8, 
        TP6T,   8, 
        TP6P,   8, 
        TP6D,   8, 
        STAS,   8, 
        WRTO,   8, 
        PRST,   32, 
        WPRP,   8, 
        P1WG,   32, 
        P1RN,   8, 
        P1PG,   32, 
        P1EP,   8, 
        P1RG,   32, 
        P1RP,   8, 
        P2WG,   32, 
        P2RN,   8, 
        P2PG,   32, 
        P2EP,   8, 
        P2RG,   32, 
        P2RP,   8, 
        P3WG,   32, 
        P3RN,   8, 
        P3PG,   32, 
        P3EP,   8, 
        P3RG,   32, 
        P3RP,   8, 
        P4WG,   32, 
        P4RN,   8, 
        P4PG,   32, 
        P4EP,   8, 
        P4RG,   32, 
        P4RP,   8, 
        P5WG,   32, 
        P5RN,   8, 
        P5PG,   32, 
        P5EP,   8, 
        P5RG,   32, 
        P5RP,   8, 
        P6WG,   32, 
        P6RN,   8, 
        P6PG,   32, 
        P6EP,   8, 
        P6RG,   32, 
        P6RP,   8, 
        P7WG,   32, 
        P7RN,   8, 
        P7PG,   32, 
        P7EP,   8, 
        P7RG,   32, 
        P7RP,   8, 
        POME,   8, 
        WFCP,   32, 
        PFCP,   8, 
        WBRS,   32, 
        PBRS,   8, 
        WWKP,   32, 
        T0PE,   32, 
        T0PR,   32, 
        T0IP,   8, 
        T0EP,   8, 
        T0RP,   8, 
        T0GI,   32, 
        T1PE,   32, 
        T1PR,   32, 
        T1IP,   8, 
        T1EP,   8, 
        T1RP,   8, 
        T1GI,   32, 
        PPDI,   8, 
        WLWK,   32, 
        WLRP,   8, 
        SATP,   32, 
        STPP,   8, 
        S1PG,   32, 
        S1PP,   8, 
        S1RG,   32, 
        S1RP,   8, 
        S2PG,   32, 
        S2PP,   8, 
        S2RG,   32, 
        S2RP,   8, 
        S3PG,   32, 
        S3PP,   8, 
        S3RG,   32, 
        S3RP,   8, 
        S4PG,   32, 
        S4PP,   8, 
        S4RG,   32, 
        S4RP,   8, 
        S5PG,   32, 
        S5PP,   8, 
        S5RG,   32, 
        S5RP,   8, 
        SXI1,   8, 
        SXI2,   8, 
        SXP1,   8, 
        SXP2,   8, 
        TSD0,   8, 
        WCLK,   8, 
        CECV,   32, 
        WWRP,   8, 
        WAGM,   8, 
        AGA1,   8, 
        AGA2,   8, 
        AGA3,   8, 
        AGA4,   8, 
        AGA5,   8, 
        AGB1,   8, 
        AGB2,   8, 
        AGB3,   8, 
        AGB4,   8, 
        AGB5,   8, 
        ACSD,   8, 
        I5BS,   8, 
        DGVR,   32, 
        LPMR,   32, 
        GP1E,   8, 
        Offset (0xA88), 
        WPFA,   32, 
        WPFB,   32, 
        WPFC,   32, 
        WPFD,   32, 
        ST50,   8, 
        ST51,   8, 
        ST52,   8, 
        ST53,   8, 
        ST54,   8, 
        ST55,   8, 
        ST56,   8, 
        ST57,   8, 
        ST58,   8, 
        ST59,   8, 
        ST5A,   8, 
        ST5B,   8, 
        ST60,   8, 
        ST61,   8, 
        ST62,   8, 
        ST63,   8, 
        ST64,   8, 
        ST65,   8, 
        ST66,   8, 
        ST67,   8, 
        ST68,   8, 
        ST69,   8, 
        ST6A,   8, 
        ST6B,   8, 
        ST70,   8, 
        ST71,   8, 
        ST72,   8, 
        ST73,   8, 
        ST74,   8, 
        ST75,   8, 
        ST76,   8, 
        ST77,   8, 
        ST78,   8, 
        ST79,   8, 
        ST7A,   8, 
        ST7B,   8, 
        ST80,   8, 
        ST81,   8, 
        ST82,   8, 
        ST83,   8, 
        ST84,   8, 
        ST85,   8, 
        ST86,   8, 
        ST87,   8, 
        ST88,   8, 
        ST89,   8, 
        ST8A,   8, 
        ST8B,   8, 
        SD17,   8, 
        SD18,   8, 
        SD19,   8, 
        SD27,   8, 
        SD28,   8, 
        SD29,   8, 
        SD37,   8, 
        SD38,   8, 
        SD39,   8, 
        AGA6,   8, 
        AGA7,   8, 
        AGA8,   8, 
        AGA9,   8, 
        AGAA,   8, 
        AGAB,   8, 
        AGB6,   8, 
        AGB7,   8, 
        AGB8,   8, 
        AGB9,   8, 
        AGBA,   8, 
        AGBB,   8, 
        UHBS,   32, 
        AXSU,   8, 
        AXMU,   8, 
        AXSR,   8, 
        AXMR,   8, 
        CD10,   8, 
        CD11,   8, 
        CD12,   8, 
        CD13,   8, 
        CD14,   8, 
        CD15,   8, 
        CD16,   8, 
        CD17,   8, 
        CD18,   8, 
        CD19,   8, 
        CD1A,   8, 
        CD20,   8, 
        CD21,   8, 
        CD22,   8, 
        CD23,   8, 
        CD24,   8, 
        CD25,   8, 
        CD26,   8, 
        CD27,   8, 
        CD28,   8, 
        CD29,   8, 
        CD2A,   8, 
        CD30,   8, 
        CD31,   8, 
        CD32,   8, 
        CD33,   8, 
        CD34,   8, 
        CD35,   8, 
        CD36,   8, 
        CD37,   8, 
        CD38,   8, 
        CD39,   8, 
        CD3A,   8, 
        CD3B,   8, 
        CD3C,   8, 
        CD3D,   8, 
        CD3E,   8, 
        CD3F,   8, 
        CD40,   8, 
        CD41,   8, 
        CD42,   8, 
        CD43,   8, 
        CD44,   8, 
        CD45,   8, 
        CD46,   8, 
        CD47,   8, 
        CD48,   8, 
        CD49,   8, 
        CD4A,   8, 
        CD4B,   8, 
        CD4C,   8, 
        CD4D,   8, 
        CD4E,   8, 
        CD4F,   8, 
        CD50,   8, 
        CD51,   8, 
        CD52,   8, 
        CD53,   8, 
        CD54,   8, 
        CD55,   8, 
        CD56,   8, 
        CD57,   8, 
        CD58,   8, 
        CD59,   8, 
        CD5A,   8, 
        CD5B,   8, 
        CD5C,   8, 
        CD5D,   8, 
        CD5E,   8, 
        CD5F,   8, 
        CD60,   8, 
        CD61,   8, 
        CD62,   8, 
        CD63,   8, 
        CD64,   8, 
        CD65,   8, 
        CD66,   8, 
        CD67,   8, 
        CD68,   8, 
        CD69,   8, 
        CD6A,   8, 
        CD6B,   8, 
        CD6C,   8, 
        CD6D,   8, 
        CD6E,   8, 
        CD6F,   8, 
        CD70,   8, 
        CD71,   8, 
        WTSE,   32, 
        WTLE,   8, 
        BL01,   16, 
        BL02,   16, 
        BL03,   16, 
        BL04,   16, 
        BL05,   16, 
        BL06,   16, 
        BL07,   16, 
        BL08,   16, 
        BL09,   16, 
        BL10,   16, 
        BL11,   16, 
        BL12,   16, 
        BL13,   16, 
        BL14,   16, 
        BL15,   16, 
        BL16,   16, 
        TILE,   8, 
        TIS0,   8, 
        TS0X,   8, 
        TIS4,   8, 
        TIS5,   8, 
        BLEC,   8, 
        BLPD,   8, 
        BLPI,   8, 
        PXDC,   8, 
        PXAC,   8, 
        PXWC,   8, 
        PXUC,   8, 
        PXFD,   8, 
        PDOD,   16, 
        XSMI,   32, 
        WWEN,   8, 
        WFFD,   8, 
        TN2B,   16, 
        TB2R,   16, 
        TR2P,   16, 
        TR2B,   16, 
        TB2F,   16, 
        TFDI,   16, 
        TBTG,   16, 
        TBTP,   16, 
        EPTU,   8, 
        U4CM,   8, 
        CMSK,   8, 
        U4SE,   8, 
        U4CL,   8, 
        WSID,   16, 
        WSTO,   16, 
        DUWS,   8, 
        WFRC,   32, 
        WFUC,   32, 
        UNI4,   32, 
        WFIC,   32, 
        WFBS,   32, 
        UDRS,   8, 
        HGDT,   8, 
        WCEN,   8, 
        WLBI,   8, 
        WHBI,   8, 
        SDGN,   8, 
        SD41,   8, 
        SD42,   8, 
        SD43,   8, 
        SD44,   8, 
        SD45,   8, 
        SD46,   8, 
        SD47,   8, 
        SD48,   8, 
        SD49,   8, 
        SD51,   8, 
        SD52,   8, 
        SD53,   8, 
        SD54,   8, 
        SD55,   8, 
        SD56,   8, 
        SD57,   8, 
        SD58,   8, 
        SD59,   8, 
        SD61,   8, 
        SD62,   8, 
        SD63,   8, 
        SD64,   8, 
        SD65,   8, 
        SD66,   8, 
        SD67,   8, 
        SD68,   8, 
        SD69,   8, 
        SD71,   8, 
        SD72,   8, 
        SD73,   8, 
        SD74,   8, 
        SD75,   8, 
        SD76,   8, 
        SD77,   8, 
        SD78,   8, 
        SD79,   8, 
        SD81,   8, 
        SD82,   8, 
        SD83,   8, 
        SD84,   8, 
        SD85,   8, 
        SD86,   8, 
        SD87,   8, 
        SD88,   8, 
        SD89,   8, 
        SSH6,   16, 
        SSL6,   16, 
        SSD6,   16, 
        FMH6,   16, 
        FML6,   16, 
        FMD6,   16, 
        FPH6,   16, 
        FPL6,   16, 
        FPD6,   16, 
        HSH6,   16, 
        HSL6,   16, 
        HSD6,   16, 
        M0CC,   16, 
        M1CC,   16, 
        SSH7,   16, 
        SSL7,   16, 
        SSD7,   16, 
        FMH7,   16, 
        FML7,   16, 
        FMD7,   16, 
        FPH7,   16, 
        FPL7,   16, 
        FPD7,   16, 
        HSH7,   16, 
        HSL7,   16, 
        HSD7,   16, 
        M0CD,   16, 
        M1CD,   16, 
        L0FI,   8, 
        L1FI,   8, 
        L2FI,   8, 
        L3FI,   8, 
        L4FI,   8, 
        L5FI,   8, 
        C0C0,   16, 
        C0C1,   16, 
        C0C2,   16, 
        C0C3,   16, 
        C0C4,   16, 
        C0C5,   16, 
        C1C0,   16, 
        C1C1,   16, 
        C1C2,   16, 
        C1C3,   16, 
        C1C4,   16, 
        C1C5,   16, 
        C2C0,   16, 
        C2C1,   16, 
        C2C2,   16, 
        C2C3,   16, 
        C2C4,   16, 
        C2C5,   16, 
        C3C0,   16, 
        C3C1,   16, 
        C3C2,   16, 
        C3C3,   16, 
        C3C4,   16, 
        C3C5,   16, 
        C4C0,   16, 
        C4C1,   16, 
        C4C2,   16, 
        C4C3,   16, 
        C4C4,   16, 
        C4C5,   16, 
        C5C0,   16, 
        C5C1,   16, 
        C5C2,   16, 
        C5C3,   16, 
        C5C4,   16, 
        C5C5,   16, 
        F0CP,   16, 
        F1CP,   16, 
        F2CP,   16, 
        F3CP,   16, 
        F4CP,   16, 
        F5CP,   16, 
        TP7T,   8, 
        TP7P,   8, 
        TP7D,   8, 
        TP8T,   8, 
        TP8P,   8, 
        TP8D,   8, 
        TP9T,   8, 
        TP9P,   8, 
        TP9D,   8, 
        TPAT,   8, 
        TPAP,   8, 
        TPAD,   8, 
        TP1U,   8, 
        TP2U,   8, 
        TP3U,   8, 
        TP4U,   8, 
        TP5U,   8, 
        TP6U,   8, 
        TP7U,   8, 
        TP8U,   8, 
        TP9U,   8, 
        TPAU,   8, 
        DGBA,   64, 
        DGOP,   32, 
        DBRL,   8, 
        SVDC,   8, 
        IADG,   8, 
        SRLD,   8, 
        WEDT,   32, 
        WF7C,   32, 
        EDMX,   32, 
        DNID,   8, 
        DGD1,   32, 
        DGD2,   32, 
        DGD3,   32, 
        DGD4,   32, 
        DGD5,   32, 
        DGD6,   32, 
        DGD7,   32, 
        DGD8,   32, 
        DGD9,   32, 
        DGDA,   32, 
        DGDB,   32, 
        DGDC,   32, 
        DGDD,   32, 
        DGDE,   32, 
        DGDF,   32, 
        DGDX,   32, 
        DGDS,   8, 
        CIRM,   8, 
        DWFK,   32, 
        WLRT,   32, 
        WVHO,   32, 
        WDCO,   32, 
        SBSB,   8, 
        SBSL,   8, 
        SIOB,   16, 
        SIOL,   16, 
        SMEB,   32, 
        SMEL,   32, 
        SPMB,   64, 
        SPML,   64, 
        PBSB,   8, 
        PBSL,   8, 
        PIOB,   16, 
        PIOL,   16, 
        PMEB,   32, 
        PMEL,   32, 
        PPMB,   64, 
        PPML,   64, 
        I2SE,   8, 
        ITCM,   8, 
        ITHW,   8, 
        ITSI,   8, 
        VTCM,   8, 
        ZPDA,   32, 
        ZDPR,   32, 
        ZDPW,   32, 
        ZDPP,   8, 
        ZPPB,   8, 
        ARLP,   8, 
        ARLS,   8, 
        FVWP,   32, 
        FVRE,   32, 
        FVRP,   8, 
        FVPE,   32, 
        FVPP,   8, 
        FVSP,   8, 
        RPFV,   8, 
        CBTA,   8, 
        ICS0,   32, 
        ICS1,   32, 
        ICS2,   32, 
        ICS3,   32, 
        ICS4,   32, 
        ICS5,   32, 
        L0PV,   8, 
        L0PU,   8, 
        L1PV,   8, 
        L1PU,   8, 
        L2PV,   8, 
        L2PU,   8, 
        L3PU,   8, 
        L3PV,   8, 
        L4PU,   8, 
        L4PV,   8, 
        L5PU,   8, 
        L5PV,   8, 
        A0H0,   8, 
        A0H1,   8, 
        A0H2,   8, 
        A0H3,   8, 
        A0H4,   8, 
        A0H5,   8, 
        A0H6,   8, 
        A0H7,   8, 
        A0H8,   8, 
        A1H0,   8, 
        A1H1,   8, 
        A1H2,   8, 
        A1H3,   8, 
        A1H4,   8, 
        A1H5,   8, 
        A1H6,   8, 
        A1H7,   8, 
        A1H8,   8, 
        CGLS,   8, 
        TP1C,   8, 
        TP2C,   8, 
        TP3C,   8, 
        TP4C,   8, 
        TP5C,   8, 
        TP6C,   8, 
        TP7C,   8, 
        TP8C,   8, 
        TP9C,   8, 
        TPAC,   8, 
        EVSA,   8, 
        DR01,   32, 
        DR02,   32, 
        DR03,   32, 
        DR04,   32, 
        DGPV,   16, 
        OSDP,   8
    }

    Name (PNVB, 0x65DE2018)
    Name (PNVL, 0x04AF)
    OperationRegion (PNVA, SystemMemory, PNVB, PNVL)
    Field (PNVA, AnyAcc, Lock, Preserve)
    {
        PCHS,   16, 
        PCHG,   16, 
        PSTP,   16, 
        RPA1,   32, 
        RPA2,   32, 
        RPA3,   32, 
        RPA4,   32, 
        RPA5,   32, 
        RPA6,   32, 
        RPA7,   32, 
        RPA8,   32, 
        RPA9,   32, 
        RPAA,   32, 
        RPAB,   32, 
        RPAC,   32, 
        RPAD,   32, 
        RPAE,   32, 
        RPAF,   32, 
        RPAG,   32, 
        RPAH,   32, 
        RPAI,   32, 
        RPAJ,   32, 
        RPAK,   32, 
        RPAL,   32, 
        RPAM,   32, 
        RPAN,   32, 
        RPAO,   32, 
        RPAP,   32, 
        RPAQ,   32, 
        RPAR,   32, 
        RPAS,   32, 
        NHAA,   64, 
        NHLL,   32, 
        ADFM,   32, 
        SWQ0,   8, 
        SWQ1,   8, 
        SWQ2,   8, 
        SWQ3,   8, 
        ACS0,   8, 
        ACS1,   8, 
        ACS2,   8, 
        ACS3,   8, 
        DAI0,   8, 
        DAI1,   8, 
        DAI2,   8, 
        DAI3,   8, 
        DOD0,   8, 
        DOD1,   8, 
        DOD2,   8, 
        DOD3,   8, 
        HDBO,   16, 
        SWMC,   8, 
        XTAL,   32, 
        SBRG,   32, 
        GEI0,   8, 
        GEI1,   8, 
        GEI2,   8, 
        GED0,   8, 
        GED1,   8, 
        GED2,   8, 
        PML1,   16, 
        PML2,   16, 
        PML3,   16, 
        PML4,   16, 
        PML5,   16, 
        PML6,   16, 
        PML7,   16, 
        PML8,   16, 
        PML9,   16, 
        PMLA,   16, 
        PMLB,   16, 
        PMLC,   16, 
        PMLD,   16, 
        PMLE,   16, 
        PMLF,   16, 
        PMLG,   16, 
        PMLH,   16, 
        PMLI,   16, 
        PMLJ,   16, 
        PMLK,   16, 
        PMLL,   16, 
        PMLM,   16, 
        PMLN,   16, 
        PMLO,   16, 
        PMLP,   16, 
        PMLQ,   16, 
        PMLR,   16, 
        PMLS,   16, 
        PNL1,   16, 
        PNL2,   16, 
        PNL3,   16, 
        PNL4,   16, 
        PNL5,   16, 
        PNL6,   16, 
        PNL7,   16, 
        PNL8,   16, 
        PNL9,   16, 
        PNLA,   16, 
        PNLB,   16, 
        PNLC,   16, 
        PNLD,   16, 
        PNLE,   16, 
        PNLF,   16, 
        PNLG,   16, 
        PNLH,   16, 
        PNLI,   16, 
        PNLJ,   16, 
        PNLK,   16, 
        PNLL,   16, 
        PNLM,   16, 
        PNLN,   16, 
        PNLO,   16, 
        PNLP,   16, 
        PNLQ,   16, 
        PNLR,   16, 
        PNLS,   16, 
        XHPC,   8, 
        XRPC,   8, 
        XSPC,   8, 
        XSPA,   8, 
        HPTB,   32, 
        HPTE,   8, 
        SM00,   8, 
        SM01,   8, 
        SM02,   8, 
        SM03,   8, 
        SM04,   8, 
        SM05,   8, 
        SM06,   8, 
        SC00,   64, 
        SC01,   64, 
        SC02,   64, 
        SC03,   64, 
        SC04,   64, 
        SC05,   64, 
        SC06,   64, 
        IM00,   8, 
        IM01,   8, 
        IM02,   8, 
        IM03,   8, 
        IM04,   8, 
        IM05,   8, 
        IM06,   8, 
        IM07,   8, 
        IC00,   64, 
        IC01,   64, 
        IC02,   64, 
        IC03,   64, 
        IC04,   64, 
        IC05,   64, 
        IC06,   64, 
        IC07,   64, 
        UM00,   8, 
        UM01,   8, 
        UM02,   8, 
        UM03,   8, 
        UM04,   8, 
        UM05,   8, 
        UM06,   8, 
        UC00,   64, 
        UC01,   64, 
        UC02,   64, 
        UC03,   64, 
        UC04,   64, 
        UC05,   64, 
        UC06,   64, 
        UD00,   8, 
        UD01,   8, 
        UD02,   8, 
        UD03,   8, 
        UD04,   8, 
        UD05,   8, 
        UD06,   8, 
        UP00,   8, 
        UP01,   8, 
        UP02,   8, 
        UP03,   8, 
        UP04,   8, 
        UP05,   8, 
        UP06,   8, 
        UI00,   8, 
        UI01,   8, 
        UI02,   8, 
        UI03,   8, 
        UI04,   8, 
        UI05,   8, 
        UI06,   8, 
        SGIR,   8, 
        GPHD,   8, 
        NIT1,   8, 
        NIT2,   8, 
        NIT3,   8, 
        NPM1,   8, 
        NPM2,   8, 
        NPM3,   8, 
        NPC1,   8, 
        NPC2,   8, 
        NPC3,   8, 
        NL11,   16, 
        NL12,   16, 
        NL13,   16, 
        ND21,   8, 
        ND22,   8, 
        ND23,   8, 
        ND11,   32, 
        ND12,   32, 
        ND13,   32, 
        NLR1,   16, 
        NLR2,   16, 
        NLR3,   16, 
        NLD1,   32, 
        NLD2,   32, 
        NLD3,   32, 
        NEA1,   16, 
        NEA2,   16, 
        NEA3,   16, 
        NEB1,   16, 
        NEB2,   16, 
        NEB3,   16, 
        NEC1,   16, 
        NEC2,   16, 
        NEC3,   16, 
        NRA1,   16, 
        NRA2,   16, 
        NRA3,   16, 
        NMB1,   32, 
        NMB2,   32, 
        NMB3,   32, 
        NMV1,   32, 
        NMV2,   32, 
        NMV3,   32, 
        NPB1,   32, 
        NPB2,   32, 
        NPB3,   32, 
        NPV1,   32, 
        NPV2,   32, 
        NPV3,   32, 
        NRP1,   32, 
        NRP2,   32, 
        NRP3,   32, 
        EMH4,   8, 
        EMDS,   8, 
        CSKU,   8, 
        ITA0,   16, 
        ITA1,   16, 
        ITA2,   16, 
        ITA3,   16, 
        ITS0,   8, 
        ITS1,   8, 
        ITS2,   8, 
        ITS3,   8, 
        PMBS,   16, 
        PWRM,   32, 
        CRFP,   8, 
        PCNV,   16, 
        CWFC,   8, 
        CBTC,   8, 
        CBTI,   8, 
        GBTP,   32, 
        CVPR,   8, 
        CRFI,   8, 
        TVBS,   8, 
        TFWB,   32, 
        PSON,   8, 
        LTR1,   8, 
        LTR2,   8, 
        LTR3,   8, 
        LTR4,   8, 
        LTR5,   8, 
        LTR6,   8, 
        LTR7,   8, 
        LTR8,   8, 
        LTR9,   8, 
        LTRA,   8, 
        LTRB,   8, 
        LTRC,   8, 
        LTRD,   8, 
        LTRE,   8, 
        LTRF,   8, 
        LTRG,   8, 
        LTRH,   8, 
        LTRI,   8, 
        LTRJ,   8, 
        LTRK,   8, 
        LTRL,   8, 
        LTRM,   8, 
        LTRN,   8, 
        LTRO,   8, 
        LTRP,   8, 
        LTRQ,   8, 
        LTRR,   8, 
        LTRS,   8, 
        GBES,   8, 
        PPDS,   32, 
        EMCE,   8, 
        SDCE,   8, 
        TGEA,   8, 
        TGEB,   8, 
        CR00,   8, 
        CR01,   8, 
        CR02,   8, 
        CR03,   8, 
        CR04,   8, 
        CR05,   8, 
        CR06,   8, 
        CR07,   8, 
        CR08,   8, 
        CR09,   8, 
        CR10,   8, 
        CR11,   8, 
        CR12,   8, 
        CR13,   8, 
        CR14,   8, 
        CR15,   8, 
        CR16,   8, 
        CR17,   8, 
        TCOB,   16, 
        ICKP,   16, 
        PU2C,   8, 
        PU3C,   8, 
        SPPR,   8, 
        IPCC,   8, 
        CQ00,   8, 
        CQ01,   8, 
        CQ02,   8, 
        CQ03,   8, 
        CQ04,   8, 
        CQ05,   8, 
        CQ06,   8, 
        CQ07,   8, 
        CQ08,   8, 
        CQ09,   8, 
        CQ10,   8, 
        CQ11,   8, 
        CQ12,   8, 
        CQ13,   8, 
        CQ14,   8, 
        CQ15,   8, 
        CQ16,   8, 
        CQ17,   8, 
        TIN0,   32, 
        TIN1,   32, 
        TMD0,   16, 
        TMD1,   16, 
        UF0E,   8, 
        UF1E,   8, 
        UAOE,   8, 
        T010,   32, 
        T011,   32, 
        T020,   8, 
        T021,   8, 
        T030,   32, 
        T031,   32, 
        T040,   32, 
        T041,   32, 
        T050,   32, 
        T051,   32, 
        T060,   32, 
        T061,   32, 
        T070,   32, 
        T071,   32, 
        T080,   32, 
        T081,   32, 
        T090,   32, 
        T091,   32, 
        T0A0,   32, 
        T0A1,   32, 
        T0B0,   32, 
        T0B1,   32, 
        T0C0,   32, 
        T0C1,   32, 
        T0D0,   32, 
        T0D1,   32, 
        T0E0,   32, 
        T0E1,   32, 
        T0F0,   32, 
        T0F1,   32, 
        T0G0,   16, 
        T0G1,   16, 
        T0H0,   32, 
        T0H1,   32, 
        T0I0,   8, 
        T0I1,   8, 
        T0J0,   64, 
        T0J1,   64, 
        T0K0,   64, 
        T0K1,   64, 
        T0L0,   64, 
        T0L1,   64, 
        T0M0,   64, 
        T0M1,   64, 
        T0N0,   64, 
        T0N1,   64, 
        T0O0,   64, 
        T0O1,   64, 
        T0P0,   64, 
        T0P1,   64, 
        T0Q0,   64, 
        T0Q1,   64, 
        T0R0,   64, 
        T0R1,   64, 
        T0S0,   64, 
        T0S1,   64, 
        T0T0,   64, 
        T0T1,   64, 
        T0U0,   64, 
        T0U1,   64, 
        T0V0,   64, 
        T0V1,   64, 
        T0W0,   64, 
        T0W1,   64, 
        T0X0,   64, 
        T0X1,   64, 
        T0Y0,   64, 
        T0Y1,   64, 
        T0Z0,   64, 
        T0Z1,   64, 
        T000,   64, 
        T001,   64, 
        CPPE,   8, 
        PCHA,   8, 
        ARLM,   8, 
        SML0,   8, 
        SML1,   8, 
        SML2,   8, 
        SML3,   8
    }

    Scope (_SB)
    {
        Device (PC00)
        {
            Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */)  // _HID: Hardware ID
            Name (_CID, EisaId ("PNP0A03") /* PCI Bus */)  // _CID: Compatible ID
            Name (_SEG, Zero)  // _SEG: PCI Segment
            Name (_BBN, Zero)  // _BBN: BIOS Bus Number
            Name (_UID, Zero)  // _UID: Unique ID
            Device (MC)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (HBUS, PCI_Config, Zero, 0x0100)
                Field (HBUS, DWordAcc, NoLock, Preserve)
                {
                    Offset (0x40), 
                    EPEN,   1, 
                        ,   11, 
                    EPBR,   20, 
                    Offset (0x48), 
                    MHEN,   1, 
                        ,   14, 
                    MHBR,   17, 
                    Offset (0x50), 
                    GCLK,   1, 
                    Offset (0x54), 
                    D0EN,   1, 
                    D1F2,   1, 
                    D1F1,   1, 
                    D1F0,   1, 
                    Offset (0x56), 
                    D6F0,   1, 
                    Offset (0x60), 
                    PXEN,   1, 
                    PXSZ,   3, 
                        ,   22, 
                    PXBR,   6, 
                    Offset (0x68), 
                    DIEN,   1, 
                        ,   11, 
                    DIBR,   20, 
                    Offset (0x70), 
                        ,   20, 
                    MEBR,   12, 
                    Offset (0x80), 
                        ,   4, 
                    PM0H,   2, 
                    Offset (0x81), 
                    PM1L,   2, 
                        ,   2, 
                    PM1H,   2, 
                    Offset (0x82), 
                    PM2L,   2, 
                        ,   2, 
                    PM2H,   2, 
                    Offset (0x83), 
                    PM3L,   2, 
                        ,   2, 
                    PM3H,   2, 
                    Offset (0x84), 
                    PM4L,   2, 
                        ,   2, 
                    PM4H,   2, 
                    Offset (0x85), 
                    PM5L,   2, 
                        ,   2, 
                    PM5H,   2, 
                    Offset (0x86), 
                    PM6L,   2, 
                        ,   2, 
                    PM6H,   2, 
                    Offset (0x87), 
                    Offset (0xA8), 
                        ,   20, 
                    TUUD,   19, 
                    Offset (0xBC), 
                        ,   20, 
                    TLUD,   12, 
                    Offset (0xC8), 
                        ,   7, 
                    HTSE,   1
                }
            }

            Name (BUF0, ResourceTemplate ()
            {
                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                    0x0000,             // Granularity
                    0x0000,             // Range Minimum
                    0x00FF,             // Range Maximum
                    0x0000,             // Translation Offset
                    0x0100,             // Length
                    ,, _Y00)
                DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0x00000CF7,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00000CF8,         // Length
                    ,, , TypeStatic, DenseTranslation)
                IO (Decode16,
                    0x0CF8,             // Range Minimum
                    0x0CF8,             // Range Maximum
                    0x01,               // Alignment
                    0x08,               // Length
                    )
                DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x00000000,         // Granularity
                    0x00000D00,         // Range Minimum
                    0x0000FFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x0000F300,         // Length
                    ,, _Y0E, 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
                    0x000C3FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y01, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000C4000,         // Range Minimum
                    0x000C7FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y02, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000C8000,         // Range Minimum
                    0x000CBFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y03, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000CC000,         // Range Minimum
                    0x000CFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y04, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000D0000,         // Range Minimum
                    0x000D3FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y05, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000D4000,         // Range Minimum
                    0x000D7FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y06, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000D8000,         // Range Minimum
                    0x000DBFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y07, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000DC000,         // Range Minimum
                    0x000DFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y08, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000E0000,         // Range Minimum
                    0x000E3FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y09, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000E4000,         // Range Minimum
                    0x000E7FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y0A, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000E8000,         // Range Minimum
                    0x000EBFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y0B, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000EC000,         // Range Minimum
                    0x000EFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y0C, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000F0000,         // Range Minimum
                    0x000FFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00010000,         // Length
                    ,, _Y0D, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0xDFFFFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0xE0000000,         // Length
                    ,, _Y0F, AddressRangeMemory, TypeStatic)
                QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                    0x0000000000000000, // Granularity
                    0x0000000000010000, // Range Minimum
                    0x000000000001FFFF, // Range Maximum
                    0x0000000000000000, // Translation Offset
                    0x0000000000010000, // Length
                    ,, _Y10, AddressRangeMemory, TypeStatic)
            })
            Name (EP_B, Zero)
            Name (MH_B, Zero)
            Name (PC_B, Zero)
            Name (PC_L, Zero)
            Name (DM_B, Zero)
            Method (GEPB, 0, Serialized)
            {
                If ((EP_B == Zero))
                {
                    EP_B = (^MC.EPBR << 0x0C)
                }

                Return (EP_B) /* \_SB_.PC00.EP_B */
            }

            Method (GMHB, 0, Serialized)
            {
                If ((MH_B == Zero))
                {
                    MH_B = (^MC.MHBR << 0x0F)
                }

                Return (MH_B) /* \_SB_.PC00.MH_B */
            }

            Method (GPCB, 0, Serialized)
            {
                If ((PC_B == Zero))
                {
                    PC_B = (^MC.PXBR << 0x1A)
                }

                Return (PC_B) /* \_SB_.PC00.PC_B */
            }

            Method (PC2M, 2, Serialized)
            {
                Local0 = GPCB ()
                Local0 += (Arg1 << 0x14)
                Local0 += ((Arg0 & 0x001F0000) >> One)
                Local0 += ((Arg0 & 0x07) << 0x0C)
                Return (Local0)
            }

            Method (GPCL, 0, Serialized)
            {
                If ((PC_L == Zero))
                {
                    If ((^MC.PXSZ < 0x03))
                    {
                        PC_L = (0x10000000 >> ^MC.PXSZ) /* \_SB_.PC00.MC__.PXSZ */
                    }
                    Else
                    {
                        PC_L = 0x10000000
                    }
                }

                Return (PC_L) /* \_SB_.PC00.PC_L */
            }

            Method (GDMB, 0, Serialized)
            {
                If ((DM_B == Zero))
                {
                    DM_B = (^MC.DIBR << 0x0C)
                }

                Return (DM_B) /* \_SB_.PC00.DM_B */
            }

            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                CreateWordField (BUF0, \_SB.PC00._Y00._MAX, PBMX)  // _MAX: Maximum Base Address
                CreateWordField (BUF0, \_SB.PC00._Y00._LEN, PBLN)  // _LEN: Length
                CreateWordField (BUF0, \_SB.PC00._Y00._MIN, PBMN)  // _MIN: Minimum Base Address
                Local0 = GPCL ()
                PBMX = ((Local0 >> 0x14) - 0x02)
                PBLN = ((Local0 >> 0x14) - One)
                If (CondRefOf (\VMDE))
                {
                    If (((VMDE == One) && (PBMX > 0xDF)))
                    {
                        PBMX = 0xDF
                        PBLN = 0xE0
                        ADBG (Concatenate ("[ASL]VMD is enabled, restricting Bus numbers to -", ToHexString (PBMX)))
                    }
                }

                If (^MC.PM1L)
                {
                    CreateDWordField (BUF0, \_SB.PC00._Y01._LEN, C0LN)  // _LEN: Length
                    C0LN = Zero
                }

                If ((^MC.PM1L == One))
                {
                    CreateBitField (BUF0, \_SB.PC00._Y01._RW, C0RW)  // _RW_: Read-Write Status
                    C0RW = Zero
                }

                If (^MC.PM1H)
                {
                    CreateDWordField (BUF0, \_SB.PC00._Y02._LEN, C4LN)  // _LEN: Length
                    C4LN = Zero
                }

                If ((^MC.PM1H == One))
                {
                    CreateBitField (BUF0, \_SB.PC00._Y02._RW, C4RW)  // _RW_: Read-Write Status
                    C4RW = Zero
                }

                If (^MC.PM2L)
                {
                    CreateDWordField (BUF0, \_SB.PC00._Y03._LEN, C8LN)  // _LEN: Length
                    C8LN = Zero
                }

                If ((^MC.PM2L == One))
                {
                    CreateBitField (BUF0, \_SB.PC00._Y03._RW, C8RW)  // _RW_: Read-Write Status
                    C8RW = Zero
                }

                If (^MC.PM2H)
                {
                    CreateDWordField (BUF0, \_SB.PC00._Y04._LEN, CCLN)  // _LEN: Length
                    CCLN = Zero
                }

                If ((^MC.PM2H == One))
                {
                    CreateBitField (BUF0, \_SB.PC00._Y04._RW, CCRW)  // _RW_: Read-Write Status
                    CCRW = Zero
                }

                If (^MC.PM3L)
                {
                    CreateDWordField (BUF0, \_SB.PC00._Y05._LEN, D0LN)  // _LEN: Length
                    D0LN = Zero
                }

                If ((^MC.PM3L == One))
                {
                    CreateBitField (BUF0, \_SB.PC00._Y05._RW, D0RW)  // _RW_: Read-Write Status
                    D0RW = Zero
                }

                If (^MC.PM3H)
                {
                    CreateDWordField (BUF0, \_SB.PC00._Y06._LEN, D4LN)  // _LEN: Length
                    D4LN = Zero
                }

                If ((^MC.PM3H == One))
                {
                    CreateBitField (BUF0, \_SB.PC00._Y06._RW, D4RW)  // _RW_: Read-Write Status
                    D4RW = Zero
                }

                If (^MC.PM4L)
                {
                    CreateDWordField (BUF0, \_SB.PC00._Y07._LEN, D8LN)  // _LEN: Length
                    D8LN = Zero
                }

                If ((^MC.PM4L == One))
                {
                    CreateBitField (BUF0, \_SB.PC00._Y07._RW, D8RW)  // _RW_: Read-Write Status
                    D8RW = Zero
                }

                If (^MC.PM4H)
                {
                    CreateDWordField (BUF0, \_SB.PC00._Y08._LEN, DCLN)  // _LEN: Length
                    DCLN = Zero
                }

                If ((^MC.PM4H == One))
                {
                    CreateBitField (BUF0, \_SB.PC00._Y08._RW, DCRW)  // _RW_: Read-Write Status
                    DCRW = Zero
                }

                If (^MC.PM5L)
                {
                    CreateDWordField (BUF0, \_SB.PC00._Y09._LEN, E0LN)  // _LEN: Length
                    E0LN = Zero
                }

                If ((^MC.PM5L == One))
                {
                    CreateBitField (BUF0, \_SB.PC00._Y09._RW, E0RW)  // _RW_: Read-Write Status
                    E0RW = Zero
                }

                If (^MC.PM5H)
                {
                    CreateDWordField (BUF0, \_SB.PC00._Y0A._LEN, E4LN)  // _LEN: Length
                    E4LN = Zero
                }

                If ((^MC.PM5H == One))
                {
                    CreateBitField (BUF0, \_SB.PC00._Y0A._RW, E4RW)  // _RW_: Read-Write Status
                    E4RW = Zero
                }

                If (^MC.PM6L)
                {
                    CreateDWordField (BUF0, \_SB.PC00._Y0B._LEN, E8LN)  // _LEN: Length
                    E8LN = Zero
                }

                If ((^MC.PM6L == One))
                {
                    CreateBitField (BUF0, \_SB.PC00._Y0B._RW, E8RW)  // _RW_: Read-Write Status
                    E8RW = Zero
                }

                If (^MC.PM6H)
                {
                    CreateDWordField (BUF0, \_SB.PC00._Y0C._LEN, ECLN)  // _LEN: Length
                    ECLN = Zero
                }

                If ((^MC.PM6H == One))
                {
                    CreateBitField (BUF0, \_SB.PC00._Y0C._RW, ECRW)  // _RW_: Read-Write Status
                    ECRW = Zero
                }

                If (^MC.PM0H)
                {
                    CreateDWordField (BUF0, \_SB.PC00._Y0D._LEN, F0LN)  // _LEN: Length
                    F0LN = Zero
                }

                If ((^MC.PM0H == One))
                {
                    CreateBitField (BUF0, \_SB.PC00._Y0D._RW, F0RW)  // _RW_: Read-Write Status
                    F0RW = Zero
                }

                CreateDWordField (BUF0, \_SB.PC00._Y0E._MIN, I1MN)  // _MIN: Minimum Base Address
                CreateDWordField (BUF0, \_SB.PC00._Y0E._MAX, I1MX)  // _MAX: Maximum Base Address
                CreateDWordField (BUF0, \_SB.PC00._Y0E._LEN, I1LN)  // _LEN: Length
                CreateDWordField (BUF0, \_SB.PC00._Y0F._MIN, M1MN)  // _MIN: Minimum Base Address
                CreateDWordField (BUF0, \_SB.PC00._Y0F._MAX, M1MX)  // _MAX: Maximum Base Address
                CreateDWordField (BUF0, \_SB.PC00._Y0F._LEN, M1LN)  // _LEN: Length
                M1LN = M32L /* External reference */
                M1MN = M32B /* External reference */
                M1MX = ((M1MN + M1LN) - One)
                If ((M64L == Zero))
                {
                    CreateQWordField (BUF0, \_SB.PC00._Y10._LEN, MSLN)  // _LEN: Length
                    MSLN = Zero
                }
                Else
                {
                    CreateQWordField (BUF0, \_SB.PC00._Y10._LEN, M2LN)  // _LEN: Length
                    CreateQWordField (BUF0, \_SB.PC00._Y10._MIN, M2MN)  // _MIN: Minimum Base Address
                    CreateQWordField (BUF0, \_SB.PC00._Y10._MAX, M2MX)  // _MAX: Maximum Base Address
                    M2LN = M64L /* External reference */
                    M2MN = M64B /* External reference */
                    M2MX = ((M2MN + M2LN) - One)
                }

                If ((PCHA != Zero))
                {
                    PBMN = SBSB /* \SBSB */
                    PBMX = SBSL /* \SBSL */
                    PBLN = (SBSL - SBSB) /* \SBSB */
                    PBLN += One
                    I1MN = SIOB /* \SIOB */
                    I1MX = SIOL /* \SIOL */
                    I1LN = (I1MX - I1MN) /* \_SB_.PC00._CRS.I1MN */
                    I1LN += One
                    M1MN = SMEB /* \SMEB */
                    M1MX = SMEL /* \SMEL */
                    M1LN = (M1MX - M1MN) /* \_SB_.PC00._CRS.M1MN */
                    M1LN += One
                    M2MN = SPMB /* \SPMB */
                    M2MX = SPML /* \SPML */
                    M2LN = (M2MX - M2MN) /* \_SB_.PC00._CRS.M2MN */
                    M2LN += One
                }

                Return (BUF0) /* \_SB_.PC00.BUF0 */
            }

            Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)
            Name (SUPP, Zero)
            Name (CTRL, Zero)
            Name (XCNT, 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_.PC00._OSC.CDW2 */
                    CTRL = CDW3 /* \_SB_.PC00._OSC.CDW3 */
                    If (!NEXP)
                    {
                        CTRL &= 0xFFFFFFF8
                    }

                    If (CondRefOf (ITSP))
                    {
                        If (ITSP)
                        {
                            CTRL &= 0xFFFFFFF7
                        }
                    }

                    If (~(CDW1 & One))
                    {
                        OSCC = CTRL /* \_SB_.PC00.CTRL */
                        If (CondRefOf (SWAK))
                        {
                            SWAK (0xFFFF, Zero)
                        }
                    }

                    If ((Arg1 != One))
                    {
                        CDW1 |= 0x08
                    }

                    If ((CDW3 != CTRL))
                    {
                        CDW1 |= 0x10
                    }

                    CDW3 = CTRL /* \_SB_.PC00.CTRL */
                    OSCC = CTRL /* \_SB_.PC00.CTRL */
                    Return (Local0)
                }
                Else
                {
                    CDW1 |= 0x04
                    Return (Local0)
                }
            }

            Scope (\_SB.PC00)
            {
                Method (AR00, 0, NotSerialized)
                {
                    Return (^^AR00) /* \_SB_.AR00 */
                }

                Method (PD00, 0, NotSerialized)
                {
                    Return (^^PD00) /* \_SB_.PD00 */
                }

                Method (AR04, 0, NotSerialized)
                {
                    Return (^^AR04) /* \_SB_.AR04 */
                }

                Method (PD04, 0, NotSerialized)
                {
                    Return (^^PD04) /* \_SB_.PD04 */
                }

                Method (AR05, 0, NotSerialized)
                {
                    Return (^^AR05) /* \_SB_.AR05 */
                }

                Method (PD05, 0, NotSerialized)
                {
                    Return (^^PD05) /* \_SB_.PD05 */
                }

                Method (AR06, 0, NotSerialized)
                {
                    Return (^^AR06) /* \_SB_.AR06 */
                }

                Method (PD06, 0, NotSerialized)
                {
                    Return (^^PD06) /* \_SB_.PD06 */
                }

                Method (AR07, 0, NotSerialized)
                {
                    Return (^^AR07) /* \_SB_.AR07 */
                }

                Method (PD07, 0, NotSerialized)
                {
                    Return (^^PD07) /* \_SB_.PD07 */
                }

                Method (AR08, 0, NotSerialized)
                {
                    Return (^^AR08) /* \_SB_.AR08 */
                }

                Method (PD08, 0, NotSerialized)
                {
                    Return (^^PD08) /* \_SB_.PD08 */
                }

                Method (AR09, 0, NotSerialized)
                {
                    Return (^^AR09) /* \_SB_.AR09 */
                }

                Method (PD09, 0, NotSerialized)
                {
                    Return (^^PD09) /* \_SB_.PD09 */
                }

                Device (GFX0)
                {
                    Name (_ADR, 0x00020000)  // _ADR: Address
                }

                Device (TCPU)
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Name (_ADR, 0x00040000)  // _ADR: Address
                }

                Device (IPU0)
                {
                    Name (_ADR, 0x00050000)  // _ADR: Address
                }

                Device (GNA0)
                {
                    Name (_ADR, 0x00080000)  // _ADR: Address
                }

                Device (VPU0)
                {
                    Name (_ADR, 0x000B0000)  // _ADR: Address
                }
            }
        }

        If ((PCHA != Zero))
        {
            Device (PC02)
            {
                Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */)  // _HID: Hardware ID
                Name (_CID, EisaId ("PNP0A03") /* PCI Bus */)  // _CID: Compatible ID
                Name (_SEG, Zero)  // _SEG: PCI Segment
                Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number
                {
                    Return (PBSB) /* External reference */
                }

                Name (_UID, 0x02)  // _UID: Unique ID
                Name (BUF0, ResourceTemplate ()
                {
                    WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                        0x0000,             // Granularity
                        0x0081,             // Range Minimum
                        0x00FF,             // Range Maximum
                        0x0000,             // Translation Offset
                        0x007F,             // Length
                        ,, _Y11)
                    DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                        0x00000000,         // Granularity
                        0x00008000,         // Range Minimum
                        0x0000FFFF,         // Range Maximum
                        0x00000000,         // Translation Offset
                        0x00008000,         // Length
                        ,, _Y12, TypeStatic, DenseTranslation)
                    DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                        0x00000000,         // Granularity
                        0xB0000000,         // Range Minimum
                        0xBFFFFFFF,         // Range Maximum
                        0x00000000,         // Translation Offset
                        0x10000000,         // Length
                        ,, _Y13, AddressRangeMemory, TypeStatic)
                    QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                        0x0000000000000000, // Granularity
                        0x0000004000000000, // Range Minimum
                        0x0000005FFFFFFFFF, // Range Maximum
                        0x0000000000000000, // Translation Offset
                        0x0000002000000000, // Length
                        ,, _Y14, AddressRangeMemory, TypeStatic)
                })
                Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                {
                    CreateWordField (BUF0, \_SB.PC02._Y11._MAX, PBMX)  // _MAX: Maximum Base Address
                    CreateWordField (BUF0, \_SB.PC02._Y11._MIN, PBMN)  // _MIN: Minimum Base Address
                    CreateWordField (BUF0, \_SB.PC02._Y11._LEN, PBLN)  // _LEN: Length
                    PBMN = PBSB /* External reference */
                    PBMX = PBSL /* \PBSL */
                    PBLN = (PBMX - PBMN) /* \_SB_.PC02._CRS.PBMN */
                    PBLN += One
                    CreateDWordField (BUF0, \_SB.PC02._Y12._MIN, I1MN)  // _MIN: Minimum Base Address
                    CreateDWordField (BUF0, \_SB.PC02._Y12._MAX, I1MX)  // _MAX: Maximum Base Address
                    CreateDWordField (BUF0, \_SB.PC02._Y12._LEN, I1LN)  // _LEN: Length
                    I1MN = PIOB /* \PIOB */
                    I1MX = PIOL /* \PIOL */
                    I1LN = (I1MX - I1MN) /* \_SB_.PC02._CRS.I1MN */
                    I1LN += One
                    CreateDWordField (BUF0, \_SB.PC02._Y13._MIN, M1MN)  // _MIN: Minimum Base Address
                    CreateDWordField (BUF0, \_SB.PC02._Y13._MAX, M1MX)  // _MAX: Maximum Base Address
                    CreateDWordField (BUF0, \_SB.PC02._Y13._LEN, M1LN)  // _LEN: Length
                    M1MN = PMEB /* \PMEB */
                    M1MX = PMEL /* \PMEL */
                    M1LN = (M1MX - M1MN) /* \_SB_.PC02._CRS.M1MN */
                    M1LN += One
                    CreateQWordField (BUF0, \_SB.PC02._Y14._LEN, M2LN)  // _LEN: Length
                    CreateQWordField (BUF0, \_SB.PC02._Y14._MIN, M2MN)  // _MIN: Minimum Base Address
                    CreateQWordField (BUF0, \_SB.PC02._Y14._MAX, M2MX)  // _MAX: Maximum Base Address
                    M2MN = PPMB /* \PPMB */
                    M2MX = PPML /* \PPML */
                    M2LN = (M2MX - M2MN) /* \_SB_.PC02._CRS.M2MN */
                    M2LN += One
                    Return (BUF0) /* \_SB_.PC02.BUF0 */
                }

                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))
                    {
                        CDW1 |= 0x04
                        Return (Local0)
                    }

                    If ((Arg1 != One))
                    {
                        CDW1 |= 0x08
                        Return (Local0)
                    }

                    SUPP = CDW2 /* \_SB_.PC02._OSC.CDW2 */
                    CTRL = CDW3 /* \_SB_.PC02._OSC.CDW3 */
                    ADBG ("PC02 Support")
                    ADBG (ToHexString (SUPP))
                    ADBG ("PC02 Control")
                    ADBG (ToHexString (CTRL))
                    If ((CDW3 != CTRL))
                    {
                        ADBG ("Rejecting OS request new control")
                        ADBG (ToHexString (CTRL))
                        CDW1 |= 0x10
                        CDW3 = CTRL /* \_SB_.PC02.CTRL */
                    }

                    Return (Local0)
                }
            }
        }
    }

    Scope (_SB)
    {
        Name (PD00, Package (0x2A)
        {
            Package (0x04)
            {
                0x001FFFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                One, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x03, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                One, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x03, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                One, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x03, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x001BFFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x001BFFFF, 
                One, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0x001BFFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x001BFFFF, 
                0x03, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0017FFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                One, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x03, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                One, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                0x03, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                One, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                0x03, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                One, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x03, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0004FFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0008FFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                One, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                0x03, 
                Zero, 
                0x0B
            }
        })
        Name (AR00, Package (0x32)
        {
            Package (0x04)
            {
                0x001FFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                0x02, 
                Zero, 
                0x1B
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                0x03, 
                Zero, 
                0x1C
            }, 

            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)
            {
                0x0019FFFF, 
                Zero, 
                Zero, 
                0x1D
            }, 

            Package (0x04)
            {
                0x0019FFFF, 
                One, 
                Zero, 
                0x1E
            }, 

            Package (0x04)
            {
                0x0019FFFF, 
                0x02, 
                Zero, 
                0x1F
            }, 

            Package (0x04)
            {
                0x0017FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                Zero, 
                Zero, 
                0x20
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                One, 
                Zero, 
                0x21
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x02, 
                Zero, 
                0x22
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x03, 
                Zero, 
                0x23
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0012FFFF, 
                Zero, 
                Zero, 
                0x1A
            }, 

            Package (0x04)
            {
                0x0012FFFF, 
                One, 
                Zero, 
                0x25
            }, 

            Package (0x04)
            {
                0x0012FFFF, 
                0x02, 
                Zero, 
                0x19
            }, 

            Package (0x04)
            {
                0x0010FFFF, 
                Zero, 
                Zero, 
                0x17
            }, 

            Package (0x04)
            {
                0x0010FFFF, 
                One, 
                Zero, 
                0x16
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0004FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0008FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PD04, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x0B
            }
        })
        Name (AR04, 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 (PD05, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x0B
            }
        })
        Name (AR05, 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 (PD06, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x0A
            }
        })
        Name (AR06, 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 (PD07, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x0B
            }
        })
        Name (AR07, 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
            }
        })
        Name (PD08, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x0B
            }
        })
        Name (AR08, 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 (PD09, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x0B
            }
        })
        Name (AR09, 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 (PD0E, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x0A
            }
        })
        Name (AR0E, 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 (PD0F, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x0B
            }
        })
        Name (AR0F, 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
            }
        })
        Name (PD02, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x0B
            }
        })
        Name (AR02, 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 (PD0A, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x0B
            }
        })
        Name (AR0A, 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 (PD0B, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x0A
            }
        })
        Name (AR0B, 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 (PD0C, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x0B
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x0A
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x0B
            }
        })
        Name (AR0C, 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 (PC00)
        {
            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (PICM)
                {
                    Return (AR00 ())
                }

                Return (PD00 ())
            }
        }

        If (CondRefOf (\_SB.PC02))
        {
            Scope (PC02)
            {
                Name (ARP0, Package (0x2B)
                {
                    Package (0x04)
                    {
                        0x001FFFFF, 
                        Zero, 
                        Zero, 
                        0x10
                    }, 

                    Package (0x04)
                    {
                        0x001FFFFF, 
                        One, 
                        Zero, 
                        0x11
                    }, 

                    Package (0x04)
                    {
                        0x001FFFFF, 
                        0x02, 
                        Zero, 
                        0x12
                    }, 

                    Package (0x04)
                    {
                        0x001FFFFF, 
                        0x03, 
                        Zero, 
                        0x13
                    }, 

                    Package (0x04)
                    {
                        0x001EFFFF, 
                        Zero, 
                        Zero, 
                        0x10
                    }, 

                    Package (0x04)
                    {
                        0x001EFFFF, 
                        One, 
                        Zero, 
                        0x11
                    }, 

                    Package (0x04)
                    {
                        0x001EFFFF, 
                        0x02, 
                        Zero, 
                        0x1B
                    }, 

                    Package (0x04)
                    {
                        0x001EFFFF, 
                        0x03, 
                        Zero, 
                        0x1C
                    }, 

                    Package (0x04)
                    {
                        0x001DFFFF, 
                        Zero, 
                        Zero, 
                        0x10
                    }, 

                    Package (0x04)
                    {
                        0x001DFFFF, 
                        One, 
                        Zero, 
                        0x11
                    }, 

                    Package (0x04)
                    {
                        0x001DFFFF, 
                        0x02, 
                        Zero, 
                        0x12
                    }, 

                    Package (0x04)
                    {
                        0x001DFFFF, 
                        0x03, 
                        Zero, 
                        0x13
                    }, 

                    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)
                    {
                        0x001BFFFF, 
                        Zero, 
                        Zero, 
                        0x10
                    }, 

                    Package (0x04)
                    {
                        0x001BFFFF, 
                        One, 
                        Zero, 
                        0x11
                    }, 

                    Package (0x04)
                    {
                        0x001BFFFF, 
                        0x02, 
                        Zero, 
                        0x12
                    }, 

                    Package (0x04)
                    {
                        0x001BFFFF, 
                        0x03, 
                        Zero, 
                        0x13
                    }, 

                    Package (0x04)
                    {
                        0x0019FFFF, 
                        Zero, 
                        Zero, 
                        0x1D
                    }, 

                    Package (0x04)
                    {
                        0x0019FFFF, 
                        One, 
                        Zero, 
                        0x1E
                    }, 

                    Package (0x04)
                    {
                        0x0019FFFF, 
                        0x02, 
                        Zero, 
                        0x1F
                    }, 

                    Package (0x04)
                    {
                        0x0017FFFF, 
                        Zero, 
                        Zero, 
                        0x10
                    }, 

                    Package (0x04)
                    {
                        0x0016FFFF, 
                        Zero, 
                        Zero, 
                        0x10
                    }, 

                    Package (0x04)
                    {
                        0x0016FFFF, 
                        One, 
                        Zero, 
                        0x11
                    }, 

                    Package (0x04)
                    {
                        0x0016FFFF, 
                        0x02, 
                        Zero, 
                        0x12
                    }, 

                    Package (0x04)
                    {
                        0x0016FFFF, 
                        0x03, 
                        Zero, 
                        0x13
                    }, 

                    Package (0x04)
                    {
                        0x0015FFFF, 
                        Zero, 
                        Zero, 
                        0x20
                    }, 

                    Package (0x04)
                    {
                        0x0015FFFF, 
                        One, 
                        Zero, 
                        0x21
                    }, 

                    Package (0x04)
                    {
                        0x0015FFFF, 
                        0x02, 
                        Zero, 
                        0x22
                    }, 

                    Package (0x04)
                    {
                        0x0015FFFF, 
                        0x03, 
                        Zero, 
                        0x23
                    }, 

                    Package (0x04)
                    {
                        0x0014FFFF, 
                        Zero, 
                        Zero, 
                        0x10
                    }, 

                    Package (0x04)
                    {
                        0x0014FFFF, 
                        One, 
                        Zero, 
                        0x11
                    }, 

                    Package (0x04)
                    {
                        0x0014FFFF, 
                        0x02, 
                        Zero, 
                        0x12
                    }, 

                    Package (0x04)
                    {
                        0x0014FFFF, 
                        0x03, 
                        Zero, 
                        0x13
                    }, 

                    Package (0x04)
                    {
                        0x0013FFFF, 
                        Zero, 
                        Zero, 
                        0x24
                    }, 

                    Package (0x04)
                    {
                        0x0013FFFF, 
                        One, 
                        Zero, 
                        0x25
                    }, 

                    Package (0x04)
                    {
                        0x0012FFFF, 
                        Zero, 
                        Zero, 
                        0x1A
                    }, 

                    Package (0x04)
                    {
                        0x0012FFFF, 
                        One, 
                        Zero, 
                        0x26
                    }, 

                    Package (0x04)
                    {
                        0x0012FFFF, 
                        0x02, 
                        Zero, 
                        0x19
                    }, 

                    Package (0x04)
                    {
                        0x0010FFFF, 
                        Zero, 
                        Zero, 
                        0x17
                    }, 

                    Package (0x04)
                    {
                        0x0010FFFF, 
                        One, 
                        Zero, 
                        0x16
                    }
                })
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (ARP0) /* \_SB_.PC02.ARP0 */
                    }

                    Return (PD00) /* \_SB_.PD00 */
                }
            }
        }
    }

    If ((PCHS == 0x04))
    {
        Scope (_SB.PC02)
        {
            Device (AWAC)
            {
                Name (_HID, "ACPI000E" /* Time and Alarm Device */)  // _HID: Hardware ID
                Name (WAST, Zero)
                Name (WTTR, Zero)
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (GPRW (0x6B, 0x04))
                }

                Mutex (RTCL, 0x00)
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((STAS == Zero))
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_GCP, 0, NotSerialized)  // _GCP: Get Capabilities
                {
                    Return (0xB7)
                }

                OperationRegion (RTCM, SystemCMOS, Zero, 0x3F)
                Field (RTCM, ByteAcc, Lock, Preserve)
                {
                    SEC,    8, 
                    Offset (0x02), 
                    MIN,    8, 
                    Offset (0x04), 
                    HOR,    8, 
                    Offset (0x07), 
                    DAY,    8, 
                    MON,    8, 
                    YEAR,   8, 
                    REGA,   8, 
                    Offset (0x32), 
                    CNTY,   8
                }

                Method (_GRT, 0, Serialized)  // _GRT: Get Real Time
                {
                    Name (BUFF, Buffer (0x10){})
                    CreateWordField (BUFF, Zero, Y)
                    CreateByteField (BUFF, 0x02, M)
                    CreateByteField (BUFF, 0x03, D)
                    CreateByteField (BUFF, 0x04, H)
                    CreateByteField (BUFF, 0x05, MIN1)
                    CreateByteField (BUFF, 0x06, S)
                    CreateByteField (BUFF, 0x07, V)
                    CreateWordField (BUFF, 0x0A, TZ)
                    CreateByteField (BUFF, 0x0C, DL)
                    Acquire (RTCL, 0xFFFF)
                    Local1 = Zero
                    Name (TOUT, 0x000186A0)
                    TOUT /= 0x0A
                    While (((REGA & 0x80) && (Local1 < TOUT)))
                    {
                        Stall (0x0A)
                        Local1 += 0x0A
                    }

                    If ((Local1 >= TOUT))
                    {
                        ADBG ("_GRT timeout fail")
                    }

                    FromBCD (YEAR, Local5)
                    FromBCD (CNTY, Local6)
                    Y = ((Local6 * 0x64) + Local5)
                    FromBCD (MON, M) /* \_SB_.PC02.AWAC._GRT.M___ */
                    FromBCD (DAY, D) /* \_SB_.PC02.AWAC._GRT.D___ */
                    FromBCD (HOR, H) /* \_SB_.PC02.AWAC._GRT.H___ */
                    FromBCD (MIN, MIN1) /* \_SB_.PC02.AWAC._GRT.MIN1 */
                    FromBCD (SEC, S) /* \_SB_.PC02.AWAC._GRT.S___ */
                    Release (RTCL)
                    TZ = 0x07FF
                    DL = Zero
                    V = One
                    Return (BUFF) /* \_SB_.PC02.AWAC._GRT.BUFF */
                }

                Method (_SRT, 1, NotSerialized)  // _SRT: Set Real Time
                {
                    CreateWordField (Arg0, Zero, Y)
                    CreateByteField (Arg0, 0x02, M)
                    CreateByteField (Arg0, 0x03, D)
                    CreateByteField (Arg0, 0x04, H)
                    CreateByteField (Arg0, 0x05, MIN1)
                    CreateByteField (Arg0, 0x06, S)
                    Acquire (RTCL, 0xFFFF)
                    Local1 = Zero
                    Name (TOUT, 0x000186A0)
                    TOUT /= 0x0A
                    While (((REGA & 0x80) && (Local1 < TOUT)))
                    {
                        Stall (0x0A)
                        Local1 += 0x0A
                    }

                    If ((Local1 >= TOUT))
                    {
                        ADBG ("_SRT timeout fail")
                        Release (RTCL)
                        Return (0xFFFFFFFF)
                    }

                    Divide (Y, 0x64, Local5, Local4)
                    ToBCD (Local4, CNTY) /* \_SB_.PC02.AWAC.CNTY */
                    ToBCD (Local5, YEAR) /* \_SB_.PC02.AWAC.YEAR */
                    ToBCD (M, MON) /* \_SB_.PC02.AWAC.MON_ */
                    ToBCD (D, DAY) /* \_SB_.PC02.AWAC.DAY_ */
                    ToBCD (H, HOR) /* \_SB_.PC02.AWAC.HOR_ */
                    ToBCD (MIN1, MIN) /* \_SB_.PC02.AWAC.MIN_ */
                    ToBCD (S, SEC) /* \_SB_.PC02.AWAC.SEC_ */
                    Release (RTCL)
                    Return (Zero)
                }

                Method (_GWS, 1, Serialized)  // _GWS: Get Wake Status
                {
                    Local0 = Zero
                    If ((Arg0 == Zero))
                    {
                        If (((^^PPMC.ACWA == 0xFFFFFFFF) && (One & WTTR)))
                        {
                            Local0 |= One
                            WTTR ^= One /* \_SB_.PC02.AWAC.WTTR */
                        }
                    }
                    ElseIf (((^^PPMC.DCWA == 0xFFFFFFFF) && (0x02 & WTTR)))
                    {
                        Local0 |= One
                        WTTR ^= 0x02 /* \_SB_.PC02.AWAC.WTTR */
                    }

                    If (WAST)
                    {
                        Local0 |= 0x02
                        WAST = Zero
                    }

                    Return (Local0)
                }

                Method (_CWS, 1, NotSerialized)  // _CWS: Clear Wake Alarm Status
                {
                    Return (Zero)
                }

                Method (_STP, 2, NotSerialized)  // _STP: Set Expired Timer Wake Policy
                {
                    If ((Arg0 == Zero))
                    {
                        ^^PPMC.ACET = Arg1
                    }
                    Else
                    {
                        ^^PPMC.DCET = Arg1
                    }

                    Return (Zero)
                }

                Method (_STV, 2, Serialized)  // _STV: Set Timer Value
                {
                    If ((Arg0 == Zero))
                    {
                        ^^PPMC.ACWA = Arg1
                        WTTR |= One /* \_SB_.PC02.AWAC.WTTR */
                    }
                    Else
                    {
                        ^^PPMC.DCWA = Arg1
                        WTTR |= 0x02 /* \_SB_.PC02.AWAC.WTTR */
                    }

                    Return (Zero)
                }

                Method (_TIP, 1, NotSerialized)  // _TIP: Expired Timer Wake Policy
                {
                    If ((Arg0 == Zero))
                    {
                        Return (^^PPMC.ACET) /* \_SB_.PC02.PPMC.ACET */
                    }
                    Else
                    {
                        Return (^^PPMC.DCET) /* \_SB_.PC02.PPMC.DCET */
                    }
                }

                Method (_TIV, 1, NotSerialized)  // _TIV: Timer Values
                {
                    If ((Arg0 == Zero))
                    {
                        Return (^^PPMC.ACWA) /* \_SB_.PC02.PPMC.ACWA */
                    }
                    Else
                    {
                        Return (^^PPMC.DCWA) /* \_SB_.PC02.PPMC.DCWA */
                    }
                }
            }
        }
    }
    Else
    {
        Scope (_SB.PC00)
        {
            Device (AWAC)
            {
                Name (_HID, "ACPI000E" /* Time and Alarm Device */)  // _HID: Hardware ID
                Name (WAST, Zero)
                Name (WTTR, Zero)
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (GPRW (0x72, 0x04))
                }

                Mutex (RTCL, 0x00)
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((STAS == Zero))
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_GCP, 0, NotSerialized)  // _GCP: Get Capabilities
                {
                    Return (0xB7)
                }

                OperationRegion (RTCM, SystemCMOS, Zero, 0x3F)
                Field (RTCM, ByteAcc, Lock, Preserve)
                {
                    SEC,    8, 
                    Offset (0x02), 
                    MIN,    8, 
                    Offset (0x04), 
                    HOR,    8, 
                    Offset (0x07), 
                    DAY,    8, 
                    MON,    8, 
                    YEAR,   8, 
                    REGA,   8, 
                    Offset (0x32), 
                    CNTY,   8
                }

                Method (_GRT, 0, Serialized)  // _GRT: Get Real Time
                {
                    Name (BUFF, Buffer (0x10){})
                    CreateWordField (BUFF, Zero, Y)
                    CreateByteField (BUFF, 0x02, M)
                    CreateByteField (BUFF, 0x03, D)
                    CreateByteField (BUFF, 0x04, H)
                    CreateByteField (BUFF, 0x05, MIN1)
                    CreateByteField (BUFF, 0x06, S)
                    CreateByteField (BUFF, 0x07, V)
                    CreateWordField (BUFF, 0x0A, TZ)
                    CreateByteField (BUFF, 0x0C, DL)
                    Acquire (RTCL, 0xFFFF)
                    Local1 = Zero
                    Name (TOUT, 0x000186A0)
                    TOUT /= 0x0A
                    While (((REGA & 0x80) && (Local1 < TOUT)))
                    {
                        Stall (0x0A)
                        Local1 += 0x0A
                    }

                    If ((Local1 >= TOUT))
                    {
                        ADBG ("_GRT timeout fail")
                    }

                    FromBCD (YEAR, Local5)
                    FromBCD (CNTY, Local6)
                    Y = ((Local6 * 0x64) + Local5)
                    FromBCD (MON, M) /* \_SB_.PC00.AWAC._GRT.M___ */
                    FromBCD (DAY, D) /* \_SB_.PC00.AWAC._GRT.D___ */
                    FromBCD (HOR, H) /* \_SB_.PC00.AWAC._GRT.H___ */
                    FromBCD (MIN, MIN1) /* \_SB_.PC00.AWAC._GRT.MIN1 */
                    FromBCD (SEC, S) /* \_SB_.PC00.AWAC._GRT.S___ */
                    Release (RTCL)
                    TZ = 0x07FF
                    DL = Zero
                    V = One
                    Return (BUFF) /* \_SB_.PC00.AWAC._GRT.BUFF */
                }

                Method (_SRT, 1, NotSerialized)  // _SRT: Set Real Time
                {
                    CreateWordField (Arg0, Zero, Y)
                    CreateByteField (Arg0, 0x02, M)
                    CreateByteField (Arg0, 0x03, D)
                    CreateByteField (Arg0, 0x04, H)
                    CreateByteField (Arg0, 0x05, MIN1)
                    CreateByteField (Arg0, 0x06, S)
                    Acquire (RTCL, 0xFFFF)
                    Local1 = Zero
                    Name (TOUT, 0x000186A0)
                    TOUT /= 0x0A
                    While (((REGA & 0x80) && (Local1 < TOUT)))
                    {
                        Stall (0x0A)
                        Local1 += 0x0A
                    }

                    If ((Local1 >= TOUT))
                    {
                        ADBG ("_SRT timeout fail")
                        Release (RTCL)
                        Return (0xFFFFFFFF)
                    }

                    Divide (Y, 0x64, Local5, Local4)
                    ToBCD (Local4, CNTY) /* \_SB_.PC00.AWAC.CNTY */
                    ToBCD (Local5, YEAR) /* \_SB_.PC00.AWAC.YEAR */
                    ToBCD (M, MON) /* \_SB_.PC00.AWAC.MON_ */
                    ToBCD (D, DAY) /* \_SB_.PC00.AWAC.DAY_ */
                    ToBCD (H, HOR) /* \_SB_.PC00.AWAC.HOR_ */
                    ToBCD (MIN1, MIN) /* \_SB_.PC00.AWAC.MIN_ */
                    ToBCD (S, SEC) /* \_SB_.PC00.AWAC.SEC_ */
                    Release (RTCL)
                    Return (Zero)
                }

                Method (_GWS, 1, Serialized)  // _GWS: Get Wake Status
                {
                    Local0 = Zero
                    If ((Arg0 == Zero))
                    {
                        If (((ACWA == 0xFFFFFFFF) && (One & WTTR)))
                        {
                            Local0 |= One
                            WTTR ^= One /* \_SB_.PC00.AWAC.WTTR */
                        }
                    }
                    ElseIf (((DCWA == 0xFFFFFFFF) && (0x02 & WTTR)))
                    {
                        Local0 |= One
                        WTTR ^= 0x02 /* \_SB_.PC00.AWAC.WTTR */
                    }

                    If (WAST)
                    {
                        Local0 |= 0x02
                        WAST = Zero
                    }

                    Return (Local0)
                }

                Method (_CWS, 1, NotSerialized)  // _CWS: Clear Wake Alarm Status
                {
                    Return (Zero)
                }

                Method (_STP, 2, NotSerialized)  // _STP: Set Expired Timer Wake Policy
                {
                    If ((Arg0 == Zero))
                    {
                        ACET = Arg1
                    }
                    Else
                    {
                        DCET = Arg1
                    }

                    Return (Zero)
                }

                Method (_STV, 2, Serialized)  // _STV: Set Timer Value
                {
                    If ((Arg0 == Zero))
                    {
                        ACWA = Arg1
                        WTTR |= One /* \_SB_.PC00.AWAC.WTTR */
                    }
                    Else
                    {
                        DCWA = Arg1
                        WTTR |= 0x02 /* \_SB_.PC00.AWAC.WTTR */
                    }

                    Return (Zero)
                }

                Method (_TIP, 1, NotSerialized)  // _TIP: Expired Timer Wake Policy
                {
                    If ((Arg0 == Zero))
                    {
                        Return (ACET) /* External reference */
                    }
                    Else
                    {
                        Return (DCET) /* External reference */
                    }
                }

                Method (_TIV, 1, NotSerialized)  // _TIV: Timer Values
                {
                    If ((Arg0 == Zero))
                    {
                        Return (ACWA) /* External reference */
                    }
                    Else
                    {
                        Return (DCWA) /* External reference */
                    }
                }
            }
        }
    }

    OperationRegion (OGNS, SystemMemory, 0x65DE2F98, 0x0000000C)
    Field (OGNS, AnyAcc, Lock, Preserve)
    {
        OG00,   8, 
        OG01,   8, 
        OG02,   8, 
        OG03,   8, 
        OG04,   8, 
        OG05,   8, 
        OG06,   8, 
        OG07,   8, 
        OG08,   8, 
        OG09,   8, 
        OG10,   8, 
        ECFG,   8
    }

    Name (BUFN, Zero)
    Name (MBUF, Buffer (0x1000){})
    OperationRegion (MDBG, SystemMemory, 0x65DBC018, 0x00001004)
    Field (MDBG, AnyAcc, Lock, Preserve)
    {
        MDG0,   32768
    }

    Method (DB2H, 1, Serialized)
    {
        If (SRLD)
        {
            SHOW (Arg0)
            MDGC (0x20)
            MDG0 = MBUF /* \MBUF */
        }
        Else
        {
            Return (Zero)
        }
    }

    Method (DW2H, 1, Serialized)
    {
        Local0 = Arg0
        Local1 = (Arg0 >> 0x08)
        Local0 &= 0xFF
        Local1 &= 0xFF
        DB2H (Local1)
        BUFN--
        DB2H (Local0)
    }

    Method (DD2H, 1, Serialized)
    {
        Local0 = Arg0
        Local1 = (Arg0 >> 0x10)
        Local0 &= 0xFFFF
        Local1 &= 0xFFFF
        DW2H (Local1)
        BUFN--
        DW2H (Local0)
    }

    Method (MBGS, 1, Serialized)
    {
        If (SRLD)
        {
            Local0 = SizeOf (Arg0)
            Name (BUFS, Buffer (Local0){})
            BUFS = Arg0
            MDGC (0x20)
            While (Local0)
            {
                MDGC (DerefOf (BUFS [(SizeOf (Arg0) - Local0)]))
                Local0--
            }

            MDG0 = MBUF /* \MBUF */
        }
        Else
        {
            Return (Zero)
        }
    }

    Method (ADBG, 1, Serialized)
    {
        If ((SRLD & One))
        {
            If ((SRLD & 0x02))
            {
                SDBG (Arg0)
            }

            ToHexString (Arg0, Local1)
            Local0 = SizeOf (Local1)
            Name (BUFS, Buffer (Local0){})
            BUFS = Local1
            MDGC (0x20)
            While (Local0)
            {
                MDGC (DerefOf (BUFS [(SizeOf (Local1) - Local0)]))
                Local0--
            }

            MDG0 = MBUF /* \MBUF */
        }
    }

    Method (SHOW, 1, Serialized)
    {
        MDGC (NTOC ((Arg0 >> 0x04)))
        MDGC (NTOC (Arg0))
    }

    Method (LINE, 0, Serialized)
    {
        Local0 = BUFN /* \BUFN */
        Local0 &= 0x0F
        While (Local0)
        {
            MDGC (Zero)
            Local0++
            Local0 &= 0x0F
        }
    }

    Method (MDGC, 1, Serialized)
    {
        MBUF [BUFN] = Arg0
        BUFN += One
        If ((BUFN > 0x0FFF))
        {
            BUFN &= 0x0FFF
            UP_L (0x0F)
        }
    }

    Method (UP_L, 1, Serialized)
    {
        Local2 = Arg0
        Local2 <<= 0x04
        MOVE (Local2)
        Local3 = (0x1000 - Local2)
        While (Local2)
        {
            MBUF [Local3] = Zero
            Local3++
            Local2--
        }
    }

    Method (MOVE, 1, Serialized)
    {
        Local4 = Arg0
        BUFN = Zero
        Local5 = (0x1000 - Local4)
        While (Local5)
        {
            Local5--
            MBUF [BUFN] = DerefOf (MBUF [Local4])
            BUFN++
            Local4++
        }
    }

    Method (NTOC, 1, Serialized)
    {
        Local0 = (Arg0 & 0x0F)
        If ((Local0 < 0x0A))
        {
            Local0 += 0x30
        }
        Else
        {
            Local0 += 0x37
        }

        Return (Local0)
    }

    If ((ECR1 == One))
    {
        Scope (_SB.PC00)
        {
            Name (PCIG, ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)
            Method (PCID, 4, Serialized)
            {
                If ((Arg0 == PCIG))
                {
                    If ((Arg1 >= 0x03))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0x01, 0x03                                       // ..
                            })
                        }

                        If ((Arg2 == 0x08))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x09))
                        {
                            Return (Package (0x05)
                            {
                                0xC350, 
                                Ones, 
                                Ones, 
                                0xC350, 
                                Ones
                            })
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }

        If (CondRefOf (\_SB.PC02))
        {
            Scope (_SB.PC02)
            {
                Method (PCID, 4, Serialized)
                {
                    Return (PCID (Arg0, Arg1, Arg2, Arg3))
                }
            }
        }
    }

    Scope (_SB.PC00)
    {
        Method (PCIC, 1, Serialized)
        {
            If ((ECR1 == One))
            {
                If ((Arg0 == PCIG))
                {
                    Return (One)
                }
            }

            Return (Zero)
        }

        If ((PCHA == Zero))
        {
            Method (IICB, 2, Serialized)
            {
                Switch (ToInteger (Arg1))
                {
                    Case (Zero)
                    {
                        Name (IIC0, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C0",
                                0x00, ResourceConsumer, _Y15, Exclusive,
                                )
                        })
                        CreateWordField (IIC0, \_SB.PC00.IICB._Y15._ADR, DAD0)  // _ADR: Address
                        DAD0 = Arg0
                        Return (IIC0) /* \_SB_.PC00.IICB.IIC0 */
                    }
                    Case (One)
                    {
                        Name (IIC1, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C1",
                                0x00, ResourceConsumer, _Y16, Exclusive,
                                )
                        })
                        CreateWordField (IIC1, \_SB.PC00.IICB._Y16._ADR, DAD1)  // _ADR: Address
                        DAD1 = Arg0
                        Return (IIC1) /* \_SB_.PC00.IICB.IIC1 */
                    }
                    Case (0x02)
                    {
                        Name (IIC2, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C2",
                                0x00, ResourceConsumer, _Y17, Exclusive,
                                )
                        })
                        CreateWordField (IIC2, \_SB.PC00.IICB._Y17._ADR, DAD2)  // _ADR: Address
                        DAD2 = Arg0
                        Return (IIC2) /* \_SB_.PC00.IICB.IIC2 */
                    }
                    Case (0x03)
                    {
                        Name (IIC3, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C3",
                                0x00, ResourceConsumer, _Y18, Exclusive,
                                )
                        })
                        CreateWordField (IIC3, \_SB.PC00.IICB._Y18._ADR, DAD3)  // _ADR: Address
                        DAD3 = Arg0
                        Return (IIC3) /* \_SB_.PC00.IICB.IIC3 */
                    }
                    Case (0x04)
                    {
                        Name (IIC4, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C4",
                                0x00, ResourceConsumer, _Y19, Exclusive,
                                )
                        })
                        CreateWordField (IIC4, \_SB.PC00.IICB._Y19._ADR, DAD4)  // _ADR: Address
                        DAD4 = Arg0
                        Return (IIC4) /* \_SB_.PC00.IICB.IIC4 */
                    }
                    Case (0x05)
                    {
                        Name (IIC5, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C5",
                                0x00, ResourceConsumer, _Y1A, Exclusive,
                                )
                        })
                        CreateWordField (IIC5, \_SB.PC00.IICB._Y1A._ADR, DAD5)  // _ADR: Address
                        DAD5 = Arg0
                        Return (IIC5) /* \_SB_.PC00.IICB.IIC5 */
                    }
                    Case (0x06)
                    {
                        Name (IIC6, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C6",
                                0x00, ResourceConsumer, _Y1B, Exclusive,
                                )
                        })
                        CreateWordField (IIC6, \_SB.PC00.IICB._Y1B._ADR, DAD6)  // _ADR: Address
                        DAD6 = Arg0
                        Return (IIC6) /* \_SB_.PC00.IICB.IIC6 */
                    }
                    Case (0x07)
                    {
                        Name (IIC7, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C7",
                                0x00, ResourceConsumer, _Y1C, Exclusive,
                                )
                        })
                        CreateWordField (IIC7, \_SB.PC00.IICB._Y1C._ADR, DAD7)  // _ADR: Address
                        DAD7 = Arg0
                        Return (IIC7) /* \_SB_.PC00.IICB.IIC7 */
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
        }

        Method (VIIC, 2, Serialized)
        {
            Switch (ToInteger (Arg1))
            {
                Case (Zero)
                {
                    Name (VI00, ResourceTemplate ()
                    {
                        I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.XHCI.RHUB.VIC0",
                            0x00, ResourceConsumer, _Y1D, Exclusive,
                            )
                    })
                    CreateWordField (VI00, \_SB.PC00.VIIC._Y1D._ADR, DAR0)  // _ADR: Address
                    DAR0 = Arg0
                    Return (VI00) /* \_SB_.PC00.VIIC.VI00 */
                }
                Case (One)
                {
                    Name (VI11, ResourceTemplate ()
                    {
                        I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.XHCI.RHUB.VIC1",
                            0x00, ResourceConsumer, _Y1E, Exclusive,
                            )
                    })
                    CreateWordField (VI11, \_SB.PC00.VIIC._Y1E._ADR, DAQ1)  // _ADR: Address
                    DAQ1 = Arg0
                    Return (VI11) /* \_SB_.PC00.VIIC.VI11 */
                }
                Default
                {
                    Return (ResourceTemplate ()
                    {
                        I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.XHCI.RHUB.VICX",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                    })
                }

            }
        }

        Method (INTB, 3, Serialized)
        {
            Name (INTR, ResourceTemplate ()
            {
                Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y1F)
                {
                    0x00000000,
                }
            })
            CreateDWordField (INTR, \_SB.PC00.INTB._Y1F._INT, NUMI)  // _INT: Interrupts
            NUMI = INUM (Arg0)
            CreateBitField (INTR, \_SB.PC00.INTB._Y1F._HE, LEVI)  // _HE_: High-Edge
            LEVI = Arg1
            CreateBitField (INTR, \_SB.PC00.INTB._Y1F._LL, ACTI)  // _LL_: Low Level
            ACTI = Arg2
            Return (INTR) /* \_SB_.PC00.INTB.INTR */
        }
    }

    If (CondRefOf (\_SB.PC02))
    {
        Scope (_SB.PC02)
        {
            Method (PCIC, 1, Serialized)
            {
                Return (^^PC00.PCIC (Arg0))
            }

            Method (IICB, 2, Serialized)
            {
                Switch (ToInteger (Arg1))
                {
                    Case (Zero)
                    {
                        Name (IIC0, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C0",
                                0x00, ResourceConsumer, _Y20, Exclusive,
                                )
                        })
                        CreateWordField (IIC0, \_SB.PC02.IICB._Y20._ADR, DAD0)  // _ADR: Address
                        DAD0 = Arg0
                        Return (IIC0) /* \_SB_.PC02.IICB.IIC0 */
                    }
                    Case (One)
                    {
                        Name (IIC1, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C1",
                                0x00, ResourceConsumer, _Y21, Exclusive,
                                )
                        })
                        CreateWordField (IIC1, \_SB.PC02.IICB._Y21._ADR, DAD1)  // _ADR: Address
                        DAD1 = Arg0
                        Return (IIC1) /* \_SB_.PC02.IICB.IIC1 */
                    }
                    Case (0x02)
                    {
                        Name (IIC2, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C2",
                                0x00, ResourceConsumer, _Y22, Exclusive,
                                )
                        })
                        CreateWordField (IIC2, \_SB.PC02.IICB._Y22._ADR, DAD2)  // _ADR: Address
                        DAD2 = Arg0
                        Return (IIC2) /* \_SB_.PC02.IICB.IIC2 */
                    }
                    Case (0x03)
                    {
                        Name (IIC3, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C3",
                                0x00, ResourceConsumer, _Y23, Exclusive,
                                )
                        })
                        CreateWordField (IIC3, \_SB.PC02.IICB._Y23._ADR, DAD3)  // _ADR: Address
                        DAD3 = Arg0
                        Return (IIC3) /* \_SB_.PC02.IICB.IIC3 */
                    }
                    Case (0x04)
                    {
                        Name (IIC4, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C4",
                                0x00, ResourceConsumer, _Y24, Exclusive,
                                )
                        })
                        CreateWordField (IIC4, \_SB.PC02.IICB._Y24._ADR, DAD4)  // _ADR: Address
                        DAD4 = Arg0
                        Return (IIC4) /* \_SB_.PC02.IICB.IIC4 */
                    }
                    Case (0x05)
                    {
                        Name (IIC5, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C5",
                                0x00, ResourceConsumer, _Y25, Exclusive,
                                )
                        })
                        CreateWordField (IIC5, \_SB.PC02.IICB._Y25._ADR, DAD5)  // _ADR: Address
                        DAD5 = Arg0
                        Return (IIC5) /* \_SB_.PC02.IICB.IIC5 */
                    }
                    Case (0x06)
                    {
                        Name (IIC6, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C6",
                                0x00, ResourceConsumer, _Y26, Exclusive,
                                )
                        })
                        CreateWordField (IIC6, \_SB.PC02.IICB._Y26._ADR, DAD6)  // _ADR: Address
                        DAD6 = Arg0
                        Return (IIC6) /* \_SB_.PC02.IICB.IIC6 */
                    }
                    Case (0x07)
                    {
                        Name (IIC7, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C7",
                                0x00, ResourceConsumer, _Y27, Exclusive,
                                )
                        })
                        CreateWordField (IIC7, \_SB.PC02.IICB._Y27._ADR, DAD7)  // _ADR: Address
                        DAD7 = Arg0
                        Return (IIC7) /* \_SB_.PC02.IICB.IIC7 */
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }

            Method (INTB, 3, Serialized)
            {
                Name (INTR, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y28)
                    {
                        0x00000000,
                    }
                })
                CreateDWordField (INTR, \_SB.PC02.INTB._Y28._INT, NUMI)  // _INT: Interrupts
                NUMI = INUM (Arg0)
                CreateBitField (INTR, \_SB.PC02.INTB._Y28._HE, LEVI)  // _HE_: High-Edge
                LEVI = Arg1
                CreateBitField (INTR, \_SB.PC02.INTB._Y28._LL, ACTI)  // _LL_: Low Level
                ACTI = Arg2
                Return (INTR) /* \_SB_.PC02.INTB.INTR */
            }
        }
    }

    Scope (_SB)
    {
        Method (PSD3, 1, Serialized)
        {
            Local0 = Zero
            If (((SIME == One) || !IMPS ()))
            {
                Return (Zero)
            }

            Switch ((Zero + Arg0--))
            {
                Case (Zero)
                {
                    RAA0 = One
                    While (((APA0 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (One)
                {
                    RAA1 = One
                    While (((APA1 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x02)
                {
                    RAA2 = One
                    While (((APA2 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x03)
                {
                    RAA3 = One
                    While (((APA3 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x04)
                {
                    RPB0 = One
                    While (((APB0 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x05)
                {
                    RPB1 = One
                    While (((APB1 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x06)
                {
                    RPB2 = One
                    While (((APB2 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x07)
                {
                    RPB3 = One
                    While (((APB3 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x08)
                {
                    RPC0 = One
                    While (((APC0 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x09)
                {
                    RPC1 = One
                    While (((APC1 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0A)
                {
                    RPC2 = One
                    While (((APC2 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0B)
                {
                    RPC3 = One
                    While (((APC3 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0C)
                {
                    RPD0 = One
                    While (((APD0 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0D)
                {
                    RPD1 = One
                    While (((APD1 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0E)
                {
                    RPD2 = One
                    While (((APD2 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0F)
                {
                    RPD3 = One
                    While (((APD3 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x10)
                {
                    RPE0 = One
                    While (((APE0 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x11)
                {
                    RPE1 = One
                    While (((APE1 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x12)
                {
                    RPE2 = One
                    While (((APE2 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x13)
                {
                    RPE3 = One
                    While (((APE3 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }

            }

            If ((Local0 >= 0x2710))
            {
                ADBG ("Error: Timeout occurred")
            }
        }

        Method (PSD0, 1, Serialized)
        {
            Local0 = Zero
            If (((SIME == One) || !IMPS ()))
            {
                Return (Zero)
            }

            Switch ((Zero + Arg0--))
            {
                Case (Zero)
                {
                    RAA0 = Zero
                    While (((APA0 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (One)
                {
                    RAA1 = Zero
                    While (((APA1 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x02)
                {
                    RAA2 = Zero
                    While (((APA2 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x03)
                {
                    RAA3 = Zero
                    While (((APA3 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x04)
                {
                    RPB0 = Zero
                    While (((APB0 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x05)
                {
                    RPB1 = Zero
                    While (((APB1 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x06)
                {
                    RPB2 = Zero
                    While (((APB2 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x07)
                {
                    RPB3 = Zero
                    While (((APB3 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x08)
                {
                    RPC0 = Zero
                    While (((APC0 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x09)
                {
                    RPC1 = Zero
                    While (((APC1 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0A)
                {
                    RPC2 = Zero
                    While (((APC2 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0B)
                {
                    RPC3 = Zero
                    While (((APC3 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0C)
                {
                    RPD0 = Zero
                    While (((APD0 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0D)
                {
                    RPD1 = Zero
                    While (((APD1 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0E)
                {
                    RPD2 = Zero
                    While (((APD2 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0F)
                {
                    RPD3 = Zero
                    While (((APD3 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x10)
                {
                    RPE0 = Zero
                    While (((APE0 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x11)
                {
                    RPE1 = Zero
                    While (((APE1 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x12)
                {
                    RPE2 = Zero
                    While (((APE2 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x13)
                {
                    RPE3 = Zero
                    While (((APE3 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }

            }

            If ((Local0 >= 0x2710))
            {
                ADBG ("Error: Timeout occurred")
            }
        }

        Method (CSD3, 1, Serialized)
        {
            Local0 = Zero
            If (((SIME == One) || !IMPS ()))
            {
                Return (Zero)
            }

            Switch (ToInteger (Arg0))
            {
                Case (0x14)
                {
                    RSAT = One
                    While (((ASAT == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x15)
                {
                    RGBE = One
                    While (((AGBE == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x16)
                {
                    RXHC = One
                    While (((AXHC == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x17)
                {
                    RXDC = One
                    While (((AXDC == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x18)
                {
                    RUFS = One
                    While (((AUFS == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }

            }

            If ((Local0 >= 0x2710))
            {
                ADBG ("Error: Timeout occurred")
            }
        }

        Method (CSD0, 1, Serialized)
        {
            Local0 = Zero
            If (((SIME == One) || !IMPS ()))
            {
                Return (Zero)
            }

            Switch (ToInteger (Arg0))
            {
                Case (0x14)
                {
                    RSAT = Zero
                    While (((ASAT == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x15)
                {
                    RGBE = Zero
                    While (((AGBE == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x16)
                {
                    RXHC = Zero
                    While (((AXHC == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x17)
                {
                    RXDC = Zero
                    While (((AXDC == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x18)
                {
                    RUFS = Zero
                    While (((AUFS == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }

            }

            If ((Local0 >= 0x2710))
            {
                ADBG ("Error: Timeout occurred")
            }
        }
    }

    Name (THMN, 0x48)
    Name (THCN, 0x0E)
    Name (CNPM, 0x80)
    Name (FMSN, 0x10)
    Scope (\)
    {
        Method (THDA, 2, Serialized)
        {
            Local0 = TFWB /* \TFWB */
            Local0 += (0x40 * (CNPM * (Arg0 - FMSN)))
            Local0 += (0x40 * Arg1)
            Return (Local0)
        }

        Method (STRD, 3, Serialized)
        {
            If (((Arg1 + Arg2) > SizeOf (Arg0)))
            {
                Return (Zero)
            }

            ToBuffer (Arg0, Local3)
            Local0 = Zero
            Local1 = Zero
            While ((Local1 < Arg2))
            {
                Local2 = DerefOf (Local3 [(Arg1 + Local1)])
                Local0 += (Local2 << (0x08 * Local1))
                Local1++
            }

            Return (Local0)
        }

        Method (THDS, 1, Serialized)
        {
            If (!(TVBS & One))
            {
                Return (Zero)
            }

            Concatenate (Arg0, "\n", Local2)
            Local0 = SizeOf (Local2)
            Local1 = THDA (THMN, THCN)
            OperationRegion (THBA, SystemMemory, Local1, 0x40)
            Field (THBA, QWordAcc, NoLock, WriteAsZeros)
            {
                QO00,   64
            }

            Field (THBA, DWordAcc, NoLock, WriteAsZeros)
            {
                DO00,   32, 
                Offset (0x10), 
                DO10,   32, 
                Offset (0x30), 
                DO30,   32
            }

            Field (THBA, WordAcc, NoLock, WriteAsZeros)
            {
                WO00,   16
            }

            Field (THBA, ByteAcc, NoLock, WriteAsZeros)
            {
                BO00,   8
            }

            DO10 = 0x01000242
            WO00 = Local0
            Local6 = Zero
            Local7 = Local0
            While ((Local7 >= 0x08))
            {
                QO00 = STRD (Local2, Local6, 0x08)
                Local6 += 0x08
                Local7 -= 0x08
            }

            If ((Local7 >= 0x04))
            {
                DO00 = STRD (Local2, Local6, 0x04)
                Local6 += 0x04
                Local7 -= 0x04
            }

            If ((Local7 >= 0x02))
            {
                WO00 = STRD (Local2, Local6, 0x02)
                Local6 += 0x02
                Local7 -= 0x02
            }

            If ((Local7 >= One))
            {
                BO00 = STRD (Local2, Local6, One)
                Local6 += One
                Local7 -= One
            }

            DO30 = Zero
        }

        Method (THDH, 1, Serialized)
        {
            THDS (ToHexString (Arg0))
        }

        Method (THDD, 1, Serialized)
        {
            THDS (ToDecimalString (Arg0))
        }
    }

    Name (PCHH, One)
    Name (PCHN, 0x03)
    Name (PCHL, 0x02)
    Name (PCHP, 0x05)
    Name (PCHM, 0x06)
    Name (PCHX, 0x04)
    Scope (_SB)
    {
        Method (PWAK, 1, NotSerialized)
        {
            If ((Arg0 == 0x03))
            {
                S23W ()
            }
        }

        Name (HDAA, One)
        Name (DISA, One)
        Name (CIWF, One)
        Name (CIBT, One)
        Name (S23C, Zero)
        Method (S23W, 0, NotSerialized)
        {
            HDAA = One
            DISA = One
            CIWF = One
            CIBT = One
        }

        Method (DION, 0, NotSerialized)
        {
            S023 (One, One)
        }

        Method (DIOF, 0, NotSerialized)
        {
            S023 (One, Zero)
        }

        Method (S023, 2, Serialized)
        {
        }

        Device (PRRE)
        {
            Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
            Name (_UID, "PCHRESV")  // _UID: Unique ID
            Name (_STA, 0x08)  // _STA: Status
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (BUF0, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0xFE000000,         // Address Base
                        0x00020000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFE04C000,         // Address Base
                        0x00004000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFE050000,         // Address Base
                        0x00060000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFE0D0000,         // Address Base
                        0x00030000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFE200000,         // Address Base
                        0x00600000,         // Address Length
                        )
                    Memory32Fixed (ReadOnly,
                        0xFF000000,         // Address Base
                        0x01000000,         // Address Length
                        )
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0xFF,               // Length
                        _Y29)
                })
                CreateWordField (BUF0, \_SB.PRRE._CRS._Y29._MIN, AMIN)  // _MIN: Minimum Base Address
                CreateWordField (BUF0, \_SB.PRRE._CRS._Y29._MAX, AMAX)  // _MAX: Maximum Base Address
                AMIN = PMBS /* \PMBS */
                AMAX = PMBS /* \PMBS */
                Name (SBR0, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00D10000,         // Address Length
                        _Y2A)
                })
                CreateDWordField (SBR0, \_SB.PRRE._CRS._Y2A._BAS, BAS0)  // _BAS: Base Address
                BAS0 = SBRG /* \SBRG */
                ConcatenateResTemplate (BUF0, SBR0, Local0)
                Name (SBRE, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00000000,         // Address Length
                        _Y2B)
                })
                CreateDWordField (SBRE, \_SB.PRRE._CRS._Y2B._BAS, BAS3)  // _BAS: Base Address
                CreateDWordField (SBRE, \_SB.PRRE._CRS._Y2B._LEN, LEN3)  // _LEN: Length
                BAS3 = (SBRG + 0x00D60000)
                LEN3 = ((SBRG + 0x10000000) - BAS3)
                ConcatenateResTemplate (Local0, SBRE, Local2)
                Return (Local2)
            }
        }

        Device (IOTR)
        {
            Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
            Name (_UID, "IoTraps")  // _UID: Unique ID
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (BUF0, ResourceTemplate ()
                {
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0xFF,               // Length
                        _Y2C)
                })
                Name (BUF1, ResourceTemplate ()
                {
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0xFF,               // Length
                        _Y2D)
                })
                Name (BUF2, ResourceTemplate ()
                {
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0xFF,               // Length
                        _Y2E)
                })
                Name (BUF3, ResourceTemplate ()
                {
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0xFF,               // Length
                        _Y2F)
                })
                CreateWordField (BUF0, \_SB.IOTR._CRS._Y2C._MIN, AMI0)  // _MIN: Minimum Base Address
                CreateWordField (BUF0, \_SB.IOTR._CRS._Y2C._MAX, AMA0)  // _MAX: Maximum Base Address
                CreateWordField (BUF1, \_SB.IOTR._CRS._Y2D._MIN, AMI1)  // _MIN: Minimum Base Address
                CreateWordField (BUF1, \_SB.IOTR._CRS._Y2D._MAX, AMA1)  // _MAX: Maximum Base Address
                CreateWordField (BUF2, \_SB.IOTR._CRS._Y2E._MIN, AMI2)  // _MIN: Minimum Base Address
                CreateWordField (BUF2, \_SB.IOTR._CRS._Y2E._MAX, AMA2)  // _MAX: Maximum Base Address
                CreateWordField (BUF3, \_SB.IOTR._CRS._Y2F._MIN, AMI3)  // _MIN: Minimum Base Address
                CreateWordField (BUF3, \_SB.IOTR._CRS._Y2F._MAX, AMA3)  // _MAX: Maximum Base Address
                Local2 = Zero
                If ((ITS0 == One))
                {
                    AMI0 = ITA0 /* \ITA0 */
                    AMA0 = ITA0 /* \ITA0 */
                    Local0 = BUF0 /* \_SB_.IOTR._CRS.BUF0 */
                    Local2 = One
                }

                If ((ITS1 == One))
                {
                    AMI1 = ITA1 /* \ITA1 */
                    AMA1 = ITA1 /* \ITA1 */
                    If ((Local2 == One))
                    {
                        ConcatenateResTemplate (BUF1, Local0, Local1)
                        Local0 = Local1
                    }
                    Else
                    {
                        Local0 = BUF1 /* \_SB_.IOTR._CRS.BUF1 */
                        Local2 = One
                    }
                }

                If ((ITS2 == One))
                {
                    AMI2 = ITA2 /* \ITA2 */
                    AMA2 = ITA2 /* \ITA2 */
                    If ((Local2 == One))
                    {
                        ConcatenateResTemplate (BUF2, Local0, Local1)
                        Local0 = Local1
                    }
                    Else
                    {
                        Local0 = BUF2 /* \_SB_.IOTR._CRS.BUF2 */
                        Local2 = One
                    }
                }

                If ((ITS3 == One))
                {
                    AMI3 = ITA3 /* \ITA3 */
                    AMA3 = ITA3 /* \ITA3 */
                    If ((Local2 == One))
                    {
                        ConcatenateResTemplate (BUF3, Local0, Local1)
                        Local0 = Local1
                    }
                    Else
                    {
                        Local0 = BUF3 /* \_SB_.IOTR._CRS.BUF3 */
                        Local2 = One
                    }
                }

                If ((Local2 == One))
                {
                    Return (Local0)
                }
                Else
                {
                    Return (Buffer (0x02)
                    {
                         0x79, 0x00                                       // y.
                    })
                }
            }
        }
    }

    Scope (_SB.PC00)
    {
        Name (TEMP, Zero)
        Device (LPCB)
        {
            Name (_ADR, 0x001F0000)  // _ADR: Address
            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (PCIC (Arg0))
                {
                    Return (PCID (Arg0, Arg1, Arg2, Arg3))
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            OperationRegion (LPC, PCI_Config, Zero, 0x0100)
            Field (LPC, AnyAcc, NoLock, Preserve)
            {
                Offset (0x02), 
                CDID,   16, 
                Offset (0x08), 
                CRID,   8, 
                Offset (0x80), 
                IOD0,   8, 
                IOD1,   8, 
                Offset (0xA0), 
                    ,   9, 
                PRBL,   1, 
                Offset (0xDC), 
                    ,   2, 
                ESPI,   1
            }
        }

        Device (SBUS)
        {
            Name (_ADR, 0x001F0004)  // _ADR: Address
            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (PCIC (Arg0))
                {
                    Return (PCID (Arg0, Arg1, Arg2, Arg3))
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (\)
    {
        OperationRegion (PMIO, SystemIO, PMBS, 0x80)
        Field (PMIO, ByteAcc, NoLock, Preserve)
        {
            Offset (0x01), 
            PBSS,   1, 
            Offset (0x40), 
                ,   17, 
            GPEC,   1, 
            Offset (0x6C), 
            Offset (0x7C), 
                ,   18, 
            WAEN,   1
        }

        Method (IMPS, 0, NotSerialized)
        {
            If ((PCHS == 0x04))
            {
                Return (Zero)
            }
            Else
            {
                Return (One)
            }
        }

        Method (IPCS, 7, Serialized)
        {
            Name (RPKG, Package (0x05)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            ADBG ("PMC IPC")
            ADBG (Concatenate ("Command: ", ToHexString (Arg0)))
            ADBG (Concatenate ("SubCmdId: ", ToHexString (Arg1)))
            ADBG (Concatenate ("Size: ", ToHexString (Arg2)))
            ADBG (Concatenate ("WBuff0: ", ToHexString (Arg3)))
            ADBG (Concatenate ("WBuff1: ", ToHexString (Arg4)))
            ADBG (Concatenate ("WBuff2: ", ToHexString (Arg5)))
            ADBG (Concatenate ("WBuff3: ", ToHexString (Arg6)))
            If ((Arg2 > 0x10))
            {
                ADBG ("CmdSize>16 Error")
                RPKG [Zero] = One
                Return (RPKG) /* \IPCS.RPKG */
            }

            IWB0 = Arg3
            IWB1 = Arg4
            IWB2 = Arg5
            IWB3 = Arg6
            Local0 = Zero
            Local0 += (Arg0 << Zero)
            Local0 += (Arg1 << 0x0C)
            Local0 += (Arg2 << 0x10)
            CMDR = Local0
            Local0 = Zero
            While (One)
            {
                If ((!IBSY || (IERR == One)))
                {
                    Break
                }

                If ((Local0 > 0x0A))
                {
                    ADBG ("IPC Busy TO")
                    RPKG [Zero] = 0x03
                    Return (RPKG) /* \IPCS.RPKG */
                }

                Sleep (One)
                Local0++
            }

            If ((IERR == One))
            {
                ADBG ("IPC Error:")
                ADBG (IERC)
                ADBG (Arg0)
                ADBG (Arg1)
                ADBG (Arg2)
                ADBG (Arg3)
                ADBG (Arg4)
                ADBG (Arg5)
                ADBG (Arg6)
                RPKG [Zero] = 0x02
                Return (RPKG) /* \IPCS.RPKG */
            }

            RPKG [One] = IRB0 /* \IRB0 */
            RPKG [0x02] = IRB1 /* \IRB1 */
            RPKG [0x03] = IRB2 /* \IRB2 */
            RPKG [0x04] = IRB3 /* \IRB3 */
            Return (RPKG) /* \IPCS.RPKG */
        }

        Method (ULTR, 1, Serialized)
        {
            LTRU = Arg0
        }

        OperationRegion (PWMR, SystemMemory, PWRM, 0x1E30)
        Field (PWMR, DWordAcc, NoLock, Preserve)
        {
            CMDR,   32, 
            IBSY,   1, 
            IERR,   1, 
                ,   1, 
                ,   1, 
            Offset (0x05), 
            Offset (0x06), 
            IERC,   8, 
            Offset (0x08), 
            Offset (0x80), 
            IWB0,   32, 
            IWB1,   32, 
            IWB2,   32, 
            IWB3,   32, 
            IRB0,   32, 
            IRB1,   32, 
            IRB2,   32, 
            IRB3,   32, 
            Offset (0x10D0), 
            RAA0,   1, 
            RAA1,   1, 
            RAA2,   1, 
            RAA3,   1, 
            RPB0,   1, 
            RPB1,   1, 
            RPB2,   1, 
            RPB3,   1, 
            RPC0,   1, 
            RPC1,   1, 
            RPC2,   1, 
            RPC3,   1, 
            RSAT,   1, 
            RGBE,   1, 
            RXHC,   1, 
            RXDC,   1, 
            RUFS,   1, 
            RPD0,   1, 
            RPD1,   1, 
            RPD2,   1, 
            RPD3,   1, 
            RPE0,   1, 
            RPE1,   1, 
            RPE2,   1, 
            RPE3,   1, 
            Offset (0x10D4), 
            APA0,   1, 
            APA1,   1, 
            APA2,   1, 
            APA3,   1, 
            APB0,   1, 
            APB1,   1, 
            APB2,   1, 
            APB3,   1, 
            APC0,   1, 
            APC1,   1, 
            APC2,   1, 
            APC3,   1, 
            ASAT,   1, 
            AGBE,   1, 
            AXHC,   1, 
            AXDC,   1, 
            AUFS,   1, 
            APD0,   1, 
            APD1,   1, 
            APD2,   1, 
            APD3,   1, 
            APE0,   1, 
            APE1,   1, 
            APE2,   1, 
            APE3,   1, 
            Offset (0x1800), 
            ACWA,   32, 
            DCWA,   32, 
            ACET,   32, 
            DCET,   32, 
            Offset (0x18E8), 
                ,   29, 
            APG3,   1, 
                ,   1, 
            CECE,   1, 
            Offset (0x1B0C), 
                ,   2, 
            ISAT,   1, 
                ,   18, 
            LTRU,   1, 
            Offset (0x1B1C), 
                ,   22, 
            XSQD,   1, 
            Offset (0x1BD0), 
                ,   31, 
            CPPM,   1, 
            Offset (0x1E20), 
            GBED,   1, 
            Offset (0x1E28), 
                ,   22, 
            SCFD,   1
        }

        Method (PG3C, 1, Serialized)
        {
            If (Arg0)
            {
                ADBG ("PG3 Enable")
                APG3 = One
            }
            Else
            {
                ADBG ("PG3 Disable")
                APG3 = Zero
            }
        }

        Method (PG3T, 0, NotSerialized)
        {
            If (APG3)
            {
                Return (One)
            }
            Else
            {
                Return (Zero)
            }
        }

        Method (PSOC, 1, Serialized)
        {
            If (PSON)
            {
                If (Arg0)
                {
                    ADBG ("PS_ON Enable")
                    CECE = One
                }
                Else
                {
                    ADBG ("PS_ON Disable")
                    CECE = Zero
                }
            }
        }

        Method (PSOS, 0, NotSerialized)
        {
            If (CECE)
            {
                Return (One)
            }
            Else
            {
                Return (Zero)
            }
        }

        Method (CFAE, 1, NotSerialized)
        {
            If (CondRefOf (CPPE))
            {
                If ((CPPE == One))
                {
                    If (DerefOf (Arg0 [Zero]))
                    {
                        ADBG ("CPPM Forced Alignment Disable")
                        CPPM = Zero
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                    Else
                    {
                        ADBG ("CPPM Forced Alignment Enable")
                        CPPM = One
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }
            }

            Return (Buffer (One)
            {
                 0x00                                             // .
            })
        }
    }

    Scope (_SB.PC00)
    {
        Name (LTEN, Zero)
        Name (LMSL, Zero)
        Name (LNSL, Zero)
    }

    If ((PCHS != 0x04))
    {
        Scope (_SB.PC00)
        {
            Device (XDCI)
            {
                Name (_ADR, 0x00140001)  // _ADR: Address
                OperationRegion (OTGD, PCI_Config, Zero, 0x0100)
                Field (OTGD, DWordAcc, NoLock, Preserve)
                {
                    DVID,   16, 
                    Offset (0x10), 
                    XDCB,   64
                }

                Field (OTGD, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x84), 
                    D0I3,   2
                }

                Method (XDBA, 0, NotSerialized)
                {
                    Return ((XDCB & 0xFFFFFFFFFFFFFF00))
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    ADBG ("XDCI DSM")
                    If ((Arg0 == ToUUID ("732b85d5-b7a7-4a1b-9ba0-4bbd00ffd511") /* Unknown UUID */))
                    {
                        If ((Arg1 == One))
                        {
                            Method (SPPS, 2, Serialized)
                            {
                                OperationRegion (XDBW, SystemMemory, XDBA (), 0x00110000)
                                Field (XDBW, WordAcc, NoLock, Preserve)
                                {
                                    Offset (0x10F810), 
                                    Offset (0x10F811), 
                                    U2CP,   2, 
                                    U3CP,   2, 
                                    Offset (0x10F818), 
                                    PUPS,   2, 
                                        ,   1, 
                                    PURC,   1, 
                                    Offset (0x10F81A), 
                                    Offset (0x10F81C), 
                                        ,   3, 
                                    UXPE,   2, 
                                    Offset (0x10F81E)
                                }

                                Local1 = Arg0
                                Local2 = Arg1
                                If ((Local1 == Zero))
                                {
                                    ADBG ("PMU D0")
                                    UXPE = Zero
                                    Local0 = Zero
                                    While ((Local0 < 0x0A))
                                    {
                                        Stall (0x64)
                                        Local0++
                                    }

                                    PUPS = Zero
                                    Local0 = Zero
                                    While ((Local0 < 0x07D0))
                                    {
                                        Stall (0x64)
                                        If (((U2CP == Zero) && (U3CP == Zero)))
                                        {
                                            Break
                                        }

                                        Local0++
                                    }

                                    If ((U2CP != Zero))
                                    {
                                        ADBG ("U2 not in D0")
                                    }

                                    If ((U3CP != Zero))
                                    {
                                        ADBG ("U3 not in D0")
                                    }

                                    Return (Zero)
                                }

                                If ((Local1 == 0x03))
                                {
                                    ADBG ("PMU D3")
                                    If ((U2CP != Zero))
                                    {
                                        ADBG ("U2 not in D0")
                                    }

                                    If ((U3CP != Zero))
                                    {
                                        ADBG ("U3 not in D0")
                                    }

                                    PUPS = 0x03
                                    Local0 = Zero
                                    While ((Local0 < 0x07D0))
                                    {
                                        Stall (0x64)
                                        If (((U2CP == 0x03) && (U3CP == 0x03)))
                                        {
                                            Break
                                        }

                                        Local0++
                                    }

                                    If ((U2CP != 0x03))
                                    {
                                        ADBG ("U2 not in D3")
                                    }

                                    If ((U3CP != 0x03))
                                    {
                                        ADBG ("U3 not in D3")
                                    }

                                    UXPE = Local2
                                    Return (Zero)
                                }

                                Return (Zero)
                            }

                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    ADBG ("XDCI Fn0")
                                    Return (Buffer (0x02)
                                    {
                                         0xB3, 0x03                                       // ..
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("XDCI Fn1")
                                    Return (One)
                                }
                                Case (0x04)
                                {
                                    ADBG ("XDCI Fn4")
                                    Local1 = DerefOf (Arg3 [Zero])
                                    ADBG (Local1)
                                    SPPS (Local1, Zero)
                                }
                                Case (0x05)
                                {
                                    ADBG ("XDCI Fn5")
                                    Return (Zero)
                                }
                                Case (0x07)
                                {
                                    ADBG ("XDCI Fn7")
                                    OperationRegion (XD22, SystemMemory, XDBA (), 0x00110000)
                                    Field (XD22, WordAcc, NoLock, Preserve)
                                    {
                                        Offset (0x10F818), 
                                        P2PS,   2, 
                                        Offset (0x10F81A)
                                    }

                                    Local0 = P2PS /* \_SB_.PC00.XDCI._DSM.P2PS */
                                    Return (Local0)
                                }
                                Case (0x08)
                                {
                                    ADBG ("XDCI Fn8")
                                    Return (One)
                                }
                                Case (0x09)
                                {
                                    ADBG ("XDCI Fn9")
                                    OperationRegion (XGCT, SystemMemory, XDBA (), 0x00110000)
                                    Field (XGCT, WordAcc, NoLock, Preserve)
                                    {
                                        Offset (0xC110), 
                                        GCTL,   32
                                    }

                                    Local1 = (PPDS & 0xFFF80000)
                                    Local1 >>= 0x13
                                    ADBG (Concatenate ("PCH XDCI: Func9 Return Val = ", ToHexString (Local1)))
                                    Return (Local1)
                                }

                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Name (_DDN, "PCH XDCI controller")  // _DDN: DOS Device Name
                Name (_STR, Unicode ("PCH XDCI controller"))  // _STR: Description String
                Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                {
                    Return (0x03)
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0x8C, 0x04))
                        }
                    }

                    Return (GPRW (0x6D, 0x04))
                }

                Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                {
                }
            }

            If ((GBES != Zero))
            {
                Device (GLAN)
                {
                    Name (_ADR, 0x001F0006)  // _ADR: Address
                    Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x86, 0x04))
                            }
                        }

                        Return (GPRW (0x6D, 0x04))
                    }

                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                    {
                    }
                }
            }

            Device (XHCI)
            {
                Name (_ADR, 0x00140000)  // _ADR: Address
                Name (DUWS, Zero)
                Name (PU2C, Zero)
                Name (PU3C, Zero)
                Name (AHWA, One)
                Name (PPID, 0x3A)
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    If (CondRefOf (DUWS))
                    {
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x89, DUWS))
                            }
                        }

                        Return (GPRW (0x6D, DUWS))
                    }
                    Else
                    {
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x89, 0x04))
                            }
                        }

                        Return (GPRW (0x6D, 0x04))
                    }
                }

                DUWS = \DUWS
                PU2C = \PU2C
                PU3C = \PU3C
                OperationRegion (XPRT, PCI_Config, Zero, 0x0100)
                Field (XPRT, AnyAcc, NoLock, Preserve)
                {
                    DVID,   16, 
                    Offset (0x10), 
                    XADR,   64, 
                    Offset (0x74), 
                    Offset (0x75), 
                    PMEE,   1, 
                    Offset (0x76), 
                    Offset (0xA2), 
                        ,   2, 
                    D3HE,   1
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    ADBG ("XHCI _DSM")
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If ((Arg0 == ToUUID ("203b203b-1f13-409a-9aae-1a0347525584") /* Unknown UUID */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Case (One)
                            {
                                If (CondRefOf (AHWA))
                                {
                                    Return ((AHWA && One))
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
                {
                    Return (0x03)
                }

                Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
                {
                    Return (0x03)
                }

                Method (_S3W, 0, NotSerialized)  // _S3W: S3 Device Wake State
                {
                    Return (0x03)
                }

                Method (_S4W, 0, NotSerialized)  // _S4W: S4 Device Wake State
                {
                    Return (0x03)
                }

                Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                {
                    Return (0x03)
                }

                Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                {
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If (CondRefOf (^RHUB.INIR))
                    {
                        ^RHUB.INIR ()
                    }
                }

                Method (USRA, 1, Serialized)
                {
                    Return ((PU2C + Arg0))
                }

                Method (SSPA, 1, Serialized)
                {
                    Return ((PU2C + (0x02 + Arg0)))
                }

                Method (UPRU, 3, NotSerialized)
                {
                    ^^SBSC.PCAO (PPID, Arg0, Arg1, Arg2)
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG ("XHCI D0")
                    UPRU (Zero, 0xFFFFFFF7, Zero)
                    If ((DVID == 0xFFFF))
                    {
                        Return (Zero)
                    }

                    If (CondRefOf (PS0X))
                    {
                        PS0X ()
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG ("XHCI D3")
                    UPRU (Zero, 0xFFFFFFFF, 0x08)
                    If ((DVID == 0xFFFF))
                    {
                        Return (Zero)
                    }

                    If (CondRefOf (PS3X))
                    {
                        PS3X ()
                    }
                }

                Method (CUID, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Device (RHUB)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                    {
                        ADBG ("XHCI RHUB PS0")
                        If ((DVID == 0xFFFF))
                        {
                            Return (Zero)
                        }

                        If (CondRefOf (PS0X))
                        {
                            ADBG ("XHCI CSD0")
                            CSD0 (0x16)
                            PS0X ()
                        }
                    }

                    Method (_PS2, 0, Serialized)  // _PS2: Power State 2
                    {
                        ADBG ("XHCI RHUB PS2")
                        If ((DVID == 0xFFFF))
                        {
                            Return (Zero)
                        }

                        If (CondRefOf (PS2X))
                        {
                            PS2X ()
                            ADBG ("XHCI CSD3")
                            CSD3 (0x16)
                        }
                    }

                    Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                    {
                        ADBG ("XHCI RHUB PS3")
                        If ((DVID == 0xFFFF))
                        {
                            Return (Zero)
                        }

                        If (CondRefOf (PS3X))
                        {
                            PS3X ()
                            ADBG ("XHCI CSD3")
                            CSD3 (0x16)
                        }
                    }

                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        ADBG ("XHCI RHUB _DSM")
                        If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
                        {
                            If ((Arg2 == Zero))
                            {
                                ADBG ("XHCI RHUB F0")
                                Return (Buffer (One)
                                {
                                     0x81                                             // .
                                })
                            }

                            If ((Arg2 == 0x07))
                            {
                                ADBG ("XHCI RHUB F7")
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If (CondRefOf (PU2C))
                    {
                        If ((One <= PU2C))
                        {
                            Device (HS01)
                            {
                                Name (_ADR, One)  // _ADR: Address
                            }
                        }

                        If ((0x02 <= PU2C))
                        {
                            Device (HS02)
                            {
                                Name (_ADR, 0x02)  // _ADR: Address
                            }
                        }

                        If ((0x03 <= PU2C))
                        {
                            Device (HS03)
                            {
                                Name (_ADR, 0x03)  // _ADR: Address
                                If ((CondRefOf (VTCM) && (VTCM == One)))
                                {
                                    If (((SXP1 == 0x03) || (SXP2 == 0x03)))
                                    {
                                        Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                                        {
                                            0xFF, 
                                            0xFF, 
                                            Zero, 
                                            Zero
                                        })
                                        Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                        {
                                            ToPLD (
                                                PLD_Revision           = 0x2,
                                                PLD_IgnoreColor        = 0x1,
                                                PLD_Red                = 0x0,
                                                PLD_Green              = 0x0,
                                                PLD_Blue               = 0x0,
                                                PLD_Width              = 0x0,
                                                PLD_Height             = 0x0,
                                                PLD_UserVisible        = 0x0,
                                                PLD_Dock               = 0x0,
                                                PLD_Lid                = 0x0,
                                                PLD_Panel              = "TOP",
                                                PLD_VerticalPosition   = "UPPER",
                                                PLD_HorizontalPosition = "LEFT",
                                                PLD_Shape              = "ROUND",
                                                PLD_GroupOrientation   = 0x0,
                                                PLD_GroupToken         = 0x1,
                                                PLD_GroupPosition      = 0x1,
                                                PLD_Bay                = 0x0,
                                                PLD_Ejectable          = 0x0,
                                                PLD_EjectRequired      = 0x0,
                                                PLD_CabinetNumber      = 0x0,
                                                PLD_CardCageNumber     = 0x0,
                                                PLD_Reference          = 0x0,
                                                PLD_Rotation           = 0x0,
                                                PLD_Order              = 0x0,
                                                PLD_VerticalOffset     = 0xFFFF,
                                                PLD_HorizontalOffset   = 0xFFFF)

                                        })
                                        Device (CIR)
                                        {
                                            Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                            {
                                                Return ((0x03 + SXI1))
                                            }

                                            Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                            {
                                                ToPLD (
                                                    PLD_Revision           = 0x2,
                                                    PLD_IgnoreColor        = 0x1,
                                                    PLD_Red                = 0x0,
                                                    PLD_Green              = 0x0,
                                                    PLD_Blue               = 0x0,
                                                    PLD_Width              = 0x0,
                                                    PLD_Height             = 0x0,
                                                    PLD_UserVisible        = 0x0,
                                                    PLD_Dock               = 0x0,
                                                    PLD_Lid                = 0x1,
                                                    PLD_Panel              = "FRONT",
                                                    PLD_VerticalPosition   = "UPPER",
                                                    PLD_HorizontalPosition = "CENTER",
                                                    PLD_Shape              = "ROUND",
                                                    PLD_GroupOrientation   = 0x0,
                                                    PLD_GroupToken         = 0x0,
                                                    PLD_GroupPosition      = 0x0,
                                                    PLD_Bay                = 0x0,
                                                    PLD_Ejectable          = 0x0,
                                                    PLD_EjectRequired      = 0x0,
                                                    PLD_CabinetNumber      = 0x0,
                                                    PLD_CardCageNumber     = 0x0,
                                                    PLD_Reference          = 0x0,
                                                    PLD_Rotation           = 0x0,
                                                    PLD_Order              = 0x0,
                                                    PLD_VerticalOffset     = 0xC8,
                                                    PLD_HorizontalOffset   = 0xA0)

                                            })
                                        }
                                    }
                                }
                            }
                        }

                        If ((0x04 <= PU2C))
                        {
                            Device (HS04)
                            {
                                Name (_ADR, 0x04)  // _ADR: Address
                            }
                        }

                        If ((0x05 <= PU2C))
                        {
                            Device (HS05)
                            {
                                Name (_ADR, 0x05)  // _ADR: Address
                                If ((CondRefOf (VTCM) && (VTCM == One)))
                                {
                                    If (((SXP1 == 0x05) || (SXP2 == 0x05)))
                                    {
                                        Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                                        {
                                            0xFF, 
                                            0xFF, 
                                            Zero, 
                                            Zero
                                        })
                                        Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                        {
                                            ToPLD (
                                                PLD_Revision           = 0x2,
                                                PLD_IgnoreColor        = 0x1,
                                                PLD_Red                = 0x0,
                                                PLD_Green              = 0x0,
                                                PLD_Blue               = 0x0,
                                                PLD_Width              = 0x0,
                                                PLD_Height             = 0x0,
                                                PLD_UserVisible        = 0x0,
                                                PLD_Dock               = 0x0,
                                                PLD_Lid                = 0x0,
                                                PLD_Panel              = "TOP",
                                                PLD_VerticalPosition   = "UPPER",
                                                PLD_HorizontalPosition = "LEFT",
                                                PLD_Shape              = "ROUND",
                                                PLD_GroupOrientation   = 0x0,
                                                PLD_GroupToken         = 0x1,
                                                PLD_GroupPosition      = 0x1,
                                                PLD_Bay                = 0x0,
                                                PLD_Ejectable          = 0x0,
                                                PLD_EjectRequired      = 0x0,
                                                PLD_CabinetNumber      = 0x0,
                                                PLD_CardCageNumber     = 0x0,
                                                PLD_Reference          = 0x0,
                                                PLD_Rotation           = 0x0,
                                                PLD_Order              = 0x0,
                                                PLD_VerticalOffset     = 0xFFFF,
                                                PLD_HorizontalOffset   = 0xFFFF)

                                        })
                                        Device (CIR)
                                        {
                                            Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                            {
                                                Return ((0x05 + SXI1))
                                            }

                                            Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                            {
                                                ToPLD (
                                                    PLD_Revision           = 0x2,
                                                    PLD_IgnoreColor        = 0x1,
                                                    PLD_Red                = 0x0,
                                                    PLD_Green              = 0x0,
                                                    PLD_Blue               = 0x0,
                                                    PLD_Width              = 0x0,
                                                    PLD_Height             = 0x0,
                                                    PLD_UserVisible        = 0x0,
                                                    PLD_Dock               = 0x0,
                                                    PLD_Lid                = 0x1,
                                                    PLD_Panel              = "FRONT",
                                                    PLD_VerticalPosition   = "UPPER",
                                                    PLD_HorizontalPosition = "CENTER",
                                                    PLD_Shape              = "ROUND",
                                                    PLD_GroupOrientation   = 0x0,
                                                    PLD_GroupToken         = 0x0,
                                                    PLD_GroupPosition      = 0x0,
                                                    PLD_Bay                = 0x0,
                                                    PLD_Ejectable          = 0x0,
                                                    PLD_EjectRequired      = 0x0,
                                                    PLD_CabinetNumber      = 0x0,
                                                    PLD_CardCageNumber     = 0x0,
                                                    PLD_Reference          = 0x0,
                                                    PLD_Rotation           = 0x0,
                                                    PLD_Order              = 0x0,
                                                    PLD_VerticalOffset     = 0xC8,
                                                    PLD_HorizontalOffset   = 0xA0)

                                            })
                                        }
                                    }
                                }
                            }
                        }

                        If ((0x06 <= PU2C))
                        {
                            Device (HS06)
                            {
                                Name (_ADR, 0x06)  // _ADR: Address
                            }
                        }

                        If ((0x07 <= PU2C))
                        {
                            Device (HS07)
                            {
                                Name (_ADR, 0x07)  // _ADR: Address
                            }
                        }

                        If ((0x08 <= PU2C))
                        {
                            Device (HS08)
                            {
                                Name (_ADR, 0x08)  // _ADR: Address
                                Device (RCAM)
                                {
                                    Name (_ADR, 0x08)  // _ADR: Address
                                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                                    {
                                        Name (UPCP, Package (0x04)
                                        {
                                            One, 
                                            0xFF, 
                                            Zero, 
                                            Zero
                                        })
                                        Return (UPCP) /* \_SB_.PC00.XHCI.RHUB.HS08.RCAM._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 */  0x24, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // $.......
                                                /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                                            }
                                        })
                                        Return (PLDP) /* \_SB_.PC00.XHCI.RHUB.HS08.RCAM._PLD.PLDP */
                                    }
                                }
                            }
                        }

                        If ((0x09 <= PU2C))
                        {
                            Device (HS09)
                            {
                                Name (_ADR, 0x09)  // _ADR: Address
                            }
                        }

                        If ((0x0A <= PU2C))
                        {
                            Device (HS10)
                            {
                                Name (_ADR, 0x0A)  // _ADR: Address
                            }
                        }

                        If ((0x0B <= PU2C))
                        {
                            Device (HS11)
                            {
                                Name (_ADR, 0x0B)  // _ADR: Address
                            }
                        }

                        If ((0x0C <= PU2C))
                        {
                            Device (HS12)
                            {
                                Name (_ADR, 0x0C)  // _ADR: Address
                            }
                        }

                        If ((0x0D <= PU2C))
                        {
                            Device (HS13)
                            {
                                Name (_ADR, 0x0D)  // _ADR: Address
                            }
                        }

                        If ((0x0E <= PU2C))
                        {
                            Device (HS14)
                            {
                                Name (_ADR, 0x0E)  // _ADR: Address
                            }
                        }

                        Device (USR1)
                        {
                            Method (_ADR, 0, NotSerialized)  // _ADR: Address
                            {
                                Return (USRA (One))
                            }
                        }

                        Device (USR2)
                        {
                            Method (_ADR, 0, NotSerialized)  // _ADR: Address
                            {
                                Return (USRA (0x02))
                            }
                        }
                    }

                    If (CondRefOf (PU3C))
                    {
                        If ((One <= PU3C))
                        {
                            Device (SS01)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (One))
                                }
                            }
                        }

                        If ((0x02 <= PU3C))
                        {
                            Device (SS02)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x02))
                                }
                            }
                        }

                        If ((0x03 <= PU3C))
                        {
                            Device (SS03)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x03))
                                }
                            }
                        }

                        If ((0x04 <= PU3C))
                        {
                            Device (SS04)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x04))
                                }
                            }
                        }

                        If ((0x05 <= PU3C))
                        {
                            Device (SS05)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x05))
                                }
                            }
                        }

                        If ((0x06 <= PU3C))
                        {
                            Device (SS06)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x06))
                                }
                            }
                        }

                        If ((0x07 <= PU3C))
                        {
                            Device (SS07)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x07))
                                }
                            }
                        }

                        If ((0x08 <= PU3C))
                        {
                            Device (SS08)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x08))
                                }
                            }
                        }

                        If ((0x09 <= PU3C))
                        {
                            Device (SS09)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x09))
                                }
                            }
                        }

                        If ((0x0A <= PU3C))
                        {
                            Device (SS10)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x0A))
                                }
                            }
                        }
                    }
                }
            }

            Device (HDAS)
            {
                Name (_ADR, 0x001F0003)  // _ADR: Address
                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG ("HD-A Ctrlr D0")
                    S023 (Zero, One)
                    If (CondRefOf (\_SB.PC00.HDAS.PS0X))
                    {
                        PS0X ()
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG ("HD-A Ctrlr D3")
                    S023 (Zero, Zero)
                    If (CondRefOf (\_SB.PC00.HDAS.PS3X))
                    {
                        PS3X ()
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0x8A, 0x04))
                        }
                    }

                    Return (GPRW (0x6D, 0x04))
                }

                OperationRegion (HDAR, PCI_Config, Zero, 0x0100)
                Field (HDAR, WordAcc, NoLock, Preserve)
                {
                    VDID,   32
                }

                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                {
                }

                Name (NBU0, ResourceTemplate ()
                {
                    QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
                        0x0000000000000001, // Granularity
                        0x0000000000000000, // Range Minimum
                        0x0000000000000000, // Range Maximum
                        0x0000000000000000, // Translation Offset
                        0x0000000000000000, // Length
                        ,, _Y30, AddressRangeACPI, TypeStatic)
                })
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    ADBG ("HDAS _INI")
                    CreateQWordField (NBU0, \_SB.PC00.HDAS._Y30._MIN, NBA0)  // _MIN: Minimum Base Address
                    CreateQWordField (NBU0, \_SB.PC00.HDAS._Y30._MAX, NMA0)  // _MAX: Maximum Base Address
                    CreateQWordField (NBU0, \_SB.PC00.HDAS._Y30._LEN, NLE0)  // _LEN: Length
                    NBA0 = NHAA /* \NHAA */
                    NMA0 = (NHAA + (NHLL - One))
                    NLE0 = NHLL /* \NHLL */
                }

                Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
                {
                    ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                    Package (0x01)
                    {
                        Package (0x02)
                        {
                            "nhlt-version", 
                            "1.8-0"
                        }
                    }
                })
                Device (IDA)
                {
                    Name (_ADR, 0x10000000)  // _ADR: Address
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        ADBG ("HDAS _DSM")
                        ADBG (Arg2)
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If ((Arg0 == ToUUID ("a69f886e-6ceb-4594-a41f-7b5dce24c553") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0xCF                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("_DSM Fun 1 NHLT")
                                    Switch (ToInteger (Arg3))
                                    {
                                        Case (Zero)
                                        {
                                            Return (NBU0) /* \_SB_.PC00.HDAS.NBU0 */
                                        }
                                        Default
                                        {
                                            Return (NBU0) /* \_SB_.PC00.HDAS.NBU0 */
                                        }

                                    }
                                }
                                Case (0x02)
                                {
                                    ADBG ("_DSM Fun 2 FMSK")
                                    Return (ADFM) /* \ADFM */
                                }
                                Case (0x03)
                                {
                                    ADBG ("_DSM Fun 3 PPMS")
                                    If (CondRefOf (\_SB.PC00.HDAS.PPMS))
                                    {
                                        Return (PPMS (Arg3))
                                    }
                                    Else
                                    {
                                        ADBG ("PPMS not found")
                                    }

                                    Return (Zero)
                                }
                                Case (0x06)
                                {
                                    ADBG ("_DSM Fun 6 XCFG")
                                    Return (XTAL) /* \XTAL */
                                }
                                Case (0x07)
                                {
                                    ADBG ("_DSM Fun 7 HDBO")
                                    ADBG (HDBO)
                                    Return (HDBO) /* \HDBO */
                                }
                                Default
                                {
                                    ADBG ("_DSM Fun NOK")
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If (CondRefOf (HIWC))
                        {
                            If (HIWC (Arg0))
                            {
                                If (CondRefOf (HIDW))
                                {
                                    Return (HIDW (Arg0, Arg1, Arg2, Arg3))
                                }
                            }
                        }

                        ADBG ("_DSM UUID NOK")
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }
            }

            Scope (HDAS.IDA)
            {
                Device (SNDW)
                {
                    Name (_ADR, 0x40000000)  // _ADR: Address
                    Name (_CID, Package (0x02)  // _CID: Compatible ID
                    {
                        "PRP00001", 
                        "PNP0A05" /* Generic Container Device */
                    })
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        Return (0x0F)
                    }

                    Method (QCFG, 4, NotSerialized)
                    {
                        DerefOf (DerefOf (Arg0 [One]) [Zero]) [One]
                             = Arg1
                        DerefOf (DerefOf (Arg0 [One]) [0x04]) [One]
                             = Arg2
                        DerefOf (DerefOf (Arg0 [One]) [0x05]) [One]
                             = Arg3
                    }

                    Method (XCFG, 2, NotSerialized)
                    {
                        If ((Arg1 == 0x016E3600))
                        {
                            ADBG ("XTAL 24MHz")
                            Local0 = 0x016E3600
                            Local1 = 0x005B8D80
                            Local2 = 0x7D
                            Local3 = 0x02
                        }
                        ElseIf ((Arg1 == 0x0249F000))
                        {
                            ADBG ("XTAL 38.4MHz")
                            Local0 = 0x0249F000
                            Local1 = 0x00493E00
                            Local2 = 0x32
                            Local3 = 0x04
                        }
                        ElseIf ((Arg1 == 0x0124F800))
                        {
                            ADBG ("XTAL 19.2MHz")
                            Local0 = 0x0124F800
                            Local1 = 0x00493E00
                            Local2 = 0x32
                            Local3 = 0x04
                        }
                        Else
                        {
                            ADBG ("XTAL UNSUPPORTED")
                            Local0 = Zero
                            Local1 = Zero
                            Local2 = Zero
                            Local3 = Zero
                        }

                        DerefOf (DerefOf (Arg0 [One]) [One]) [One]
                             = Local0
                        DerefOf (DerefOf (DerefOf (Arg0 [One]) [0x08]
                            ) [One]) [Zero] = Local1
                        DerefOf (DerefOf (Arg0 [One]) [0x0A]) [One]
                             = Local2
                        DerefOf (DerefOf (Arg0 [One]) [0x0B]) [One]
                             = Local3
                    }

                    Method (DCFG, 3, NotSerialized)
                    {
                        DerefOf (DerefOf (Arg0 [One]) [0x02]) [One]
                             = Arg1
                        DerefOf (DerefOf (Arg0 [One]) [0x03]) [One]
                             = Arg2
                    }

                    Method (SDWU, 1, NotSerialized)
                    {
                        DerefOf (DerefOf (_DSD [One]) [0x02]) [One]
                             = Arg0
                    }

                    Method (_INI, 0, NotSerialized)  // _INI: Initialize
                    {
                        ADBG ("SNDW _INI")
                        SDWU (SWMC)
                        QCFG (LNK0, SWQ0, ACS0, SML0)
                        QCFG (LNK1, SWQ1, ACS1, SML1)
                        QCFG (LNK2, SWQ2, ACS2, SML2)
                        QCFG (LNK3, SWQ3, ACS3, SML3)
                        XCFG (LNK0, XTAL)
                        XCFG (LNK1, XTAL)
                        XCFG (LNK2, XTAL)
                        XCFG (LNK3, XTAL)
                        DCFG (LNK0, DAI0, DOD0)
                        DCFG (LNK1, DAI1, DOD0)
                        DCFG (LNK2, DAI2, DOD0)
                        DCFG (LNK3, DAI3, DOD0)
                    }

                    Name (_DSD, Package (0x04)  // _DSD: Device-Specific Data
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x03)
                        {
                            Package (0x02)
                            {
                                "mipi-sdw-sw-interface-revision", 
                                0x00010000
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-manager-list", 
                                0x0F
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-master-count", 
                                0x04
                            }
                        }, 

                        ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */, 
                        Package (0x04)
                        {
                            Package (0x02)
                            {
                                "mipi-sdw-link-0-subproperties", 
                                "LNK0"
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-link-1-subproperties", 
                                "LNK1"
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-link-2-subproperties", 
                                "LNK2"
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-link-3-subproperties", 
                                "LNK3"
                            }
                        }
                    })
                    Name (LNK0, Package (0x02)
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x0E)
                        {
                            Package (0x02)
                            {
                                "intel-quirk-mask", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-ip-clock", 
                                0x0249F000
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-doais", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-dods", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-autonomous-clock-stop", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-lane-mask", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode0-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode1-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-frequencies-supported", 
                                Package (0x01)
                                {
                                    0x00493E00
                                }
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-rate", 
                                0xBB80
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-row-size", 
                                0x32
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-col-size", 
                                0x04
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-dynamic-frame-shape", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-command-error-threshold", 
                                0x10
                            }
                        }
                    })
                    Name (LNK1, Package (0x02)
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x0E)
                        {
                            Package (0x02)
                            {
                                "intel-quirk-mask", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-ip-clock", 
                                0x0249F000
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-doais", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-dods", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-autonomous-clock-stop", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-lane-mask", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode0-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode1-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-frequencies-supported", 
                                Package (0x01)
                                {
                                    0x00493E00
                                }
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-rate", 
                                0xBB80
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-row-size", 
                                0x32
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-col-size", 
                                0x04
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-dynamic-frame-shape", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-command-error-threshold", 
                                0x10
                            }
                        }
                    })
                    Name (LNK2, Package (0x02)
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x0E)
                        {
                            Package (0x02)
                            {
                                "intel-quirk-mask", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-ip-clock", 
                                0x0249F000
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-doais", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-dods", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-autonomous-clock-stop", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-lane-mask", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode0-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode1-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-frequencies-supported", 
                                Package (0x01)
                                {
                                    0x00493E00
                                }
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-rate", 
                                0xBB80
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-row-size", 
                                0x32
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-col-size", 
                                0x04
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-dynamic-frame-shape", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-command-error-threshold", 
                                0x10
                            }
                        }
                    })
                    Name (LNK3, Package (0x02)
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x0E)
                        {
                            Package (0x02)
                            {
                                "intel-quirk-mask", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-ip-clock", 
                                0x0249F000
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-doais", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-dods", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-autonomous-clock-stop", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-lane-mask", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode0-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode1-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-frequencies-supported", 
                                Package (0x01)
                                {
                                    0x00493E00
                                }
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-rate", 
                                0xBB80
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-row-size", 
                                0x32
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-col-size", 
                                0x04
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-dynamic-frame-shape", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-command-error-threshold", 
                                0x10
                            }
                        }
                    })
                }

                If ((UAOE != Zero))
                {
                    Device (UAOL)
                    {
                        Name (_ADR, 0x50000000)  // _ADR: Address
                        Name (_CID, Package (0x02)  // _CID: Compatible ID
                        {
                            "PRP00001", 
                            "PNP0A05" /* Generic Container Device */
                        })
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            Return (0x0B)
                        }

                        Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                        {
                            ADBG ("UAOL _DSM")
                            If ((Arg0 == ToUUID ("2e60aefc-1ba8-467a-b8cc-5727b98cecb7") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x03                                             // .
                                        })
                                    }
                                    Case (One)
                                    {
                                        Return (CFAE (Arg3))
                                    }

                                }
                            }

                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }

                        Name (_DSD, Package (0x04)  // _DSD: Device-Specific Data
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "uaol-ctrl-count", 
                                    0x02
                                }
                            }, 

                            ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */, 
                            Package (0x02)
                            {
                                Package (0x02)
                                {
                                    "uaol-descriptor-0", 
                                    "UAO0"
                                }, 

                                Package (0x02)
                                {
                                    "uaol-descriptor-1", 
                                    "UAO1"
                                }
                            }
                        })
                        Name (UAO0, Package (0x02)
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            Package (0x03)
                            {
                                Package (0x02)
                                {
                                    "uaol-instance-number", 
                                    Zero
                                }, 

                                Package (0x02)
                                {
                                    "bdf-routing-enabled", 
                                    Zero
                                }, 

                                Package (0x02)
                                {
                                    "peer-integrated-controller-identifier", 
                                    0x98ED
                                }
                            }
                        })
                        Name (UAO1, Package (0x02)
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            Package (0x03)
                            {
                                Package (0x02)
                                {
                                    "uaol-instance-number", 
                                    One
                                }, 

                                Package (0x02)
                                {
                                    "bdf-routing-enabled", 
                                    Zero
                                }, 

                                Package (0x02)
                                {
                                    "peer-integrated-controller-identifier", 
                                    0xABCD
                                }
                            }
                        })
                    }
                }
            }

            Device (HECI)
            {
                Name (_ADR, 0x00160000)  // _ADR: Address
                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    ADBG ("HECI _DSM")
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (CondRefOf (HIWC))
                    {
                        If (HIWC (Arg0))
                        {
                            If (CondRefOf (HIDW))
                            {
                                Return (HIDW (Arg0, Arg1, Arg2, Arg3))
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (HEC3)
            {
                Name (_ADR, 0x00160004)  // _ADR: Address
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }
        }

        Scope (_SB.PC00)
        {
            Device (ISHD)
            {
                Name (_ADR, 0x00120000)  // _ADR: Address
            }
        }
    }

    If ((PCHS != 0x04))
    {
        Scope (_SB.PC00)
        {
            Method (SOD3, 3, Serialized)
            {
                OperationRegion (ICB1, SystemMemory, (GPCB () + Arg0), 0x88)
                If (Arg1)
                {
                    Field (ICB1, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0x84), 
                        PMEC,   8
                    }

                    PMEC = 0x03
                    PMEC |= Zero
                }

                If ((Arg1 && Arg2))
                {
                    Field (ICB1, AnyAcc, NoLock, Preserve)
                    {
                        Offset (0x10), 
                        BAR0,   64
                    }

                    BAR0 = Zero
                }
            }

            Device (I2C0)
            {
                If ((IM00 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC00, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00150000)
                }
            }

            Device (I2C1)
            {
                If ((IM01 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC01, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00150001)
                }
            }

            Device (I2C2)
            {
                If ((IM02 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC02, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00150002)
                }
            }

            Device (I2C3)
            {
                If ((IM03 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC03, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00150003)
                }
            }

            Device (I2C4)
            {
                If ((IM04 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC04, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00190000)
                }
            }

            Device (I2C5)
            {
                If ((IM05 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC05, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00190001)
                }
            }

            Scope (\_SB.PC00)
            {
                Device (I3C0)
                {
                    Name (I3CR, Package (0x38)
                    {
                        0xD0, 
                        0x00200002, 
                        0xD4, 
                        0x01010404, 
                        0x0214, 
                        0x00FA00FA, 
                        0x0218, 
                        0x00080008, 
                        0x021C, 
                        0x00FA00FA, 
                        0x0220, 
                        0x00640064, 
                        0x0224, 
                        0x032003AC, 
                        0x0228, 
                        0x20202020, 
                        0x022C, 
                        0x00030000, 
                        0x0230, 
                        0x00010000, 
                        0x0234, 
                        0x08, 
                        0x02BC, 
                        0x0800, 
                        0x02C0, 
                        0x0800, 
                        0x02C8, 
                        Zero, 
                        0x02CC, 
                        0x08, 
                        0x02D0, 
                        0x52, 
                        0x02D4, 
                        0x20442044, 
                        0x04D0, 
                        0x00200002, 
                        0x04D4, 
                        0x01010404, 
                        0x0614, 
                        0x00FA00FA, 
                        0x0618, 
                        0x00080008, 
                        0x061C, 
                        0x00FA00FA, 
                        0x0620, 
                        0x00640064, 
                        0x0624, 
                        0x032003AC, 
                        0x0628, 
                        0x20202020, 
                        0x062C, 
                        0x00030000, 
                        0x0630, 
                        0x00010000, 
                        0x0634, 
                        0x08
                    })
                    Name (_ADR, 0x00150004)  // _ADR: Address
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If ((Arg0 == ToUUID ("e59152de-bd93-4164-8a5e-2828fbd8b959") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (0x08)
                                    {
                                         0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                                    })
                                }
                                Case (One)
                                {
                                    Return (I3CR) /* \_SB_.PC00.I3C0.I3CR */
                                }

                            }

                            Return (Buffer (0x08)
                            {
                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                            })
                        }

                        Return (Buffer (0x08)
                        {
                             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                        })
                    }

                    Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                    {
                        Return (0x03)
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x8E, 0x04))
                            }
                        }

                        Return (GPRW (0x6D, 0x04))
                    }
                }
            }

            Device (SPI0)
            {
                If ((SM00 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (SC00, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x001E0002)
                }
            }

            Device (SPI1)
            {
                If ((SM01 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (SC01, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x001E0003)
                }
            }

            Device (SPI2)
            {
                If ((SM02 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (SC02, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00120006)
                }
            }

            Method (UDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("f7af8347-a966-49fe-9022-7a9deeebdb27") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (UDMA, 2, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Return (Buffer (0x08)
                        {
                             0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                        })
                    }
                    Case (One)
                    {
                        Return (ToInteger (Arg1))
                    }

                }

                Return (Buffer (0x08)
                {
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                })
            }
        }

        Scope (_SB)
        {
            Device (URSC)
            {
                Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
                Name (_STA, 0x03)  // _STA: Status
                Name (_UID, 0x05)  // _UID: Unique ID
                Method (UARB, 2, Serialized)
                {
                    If (((Arg0 == 0x02) || (Arg0 == 0x03)))
                    {
                        OperationRegion (UACF, SystemMemory, Arg1, 0x20)
                        Field (UACF, AnyAcc, NoLock, Preserve)
                        {
                            Offset (0x10), 
                            BAR0,   64, 
                            BAR1,   64
                        }

                        Name (BUF1, ResourceTemplate ()
                        {
                            Memory32Fixed (ReadWrite,
                                0x00000000,         // Address Base
                                0x00000FF8,         // Address Length
                                _Y31)
                        })
                        Name (BUF2, ResourceTemplate ()
                        {
                            Memory32Fixed (ReadWrite,
                                0x00000000,         // Address Base
                                0x00001000,         // Address Length
                                _Y32)
                        })
                        CreateDWordField (BUF1, \_SB.URSC.UARB._Y31._BAS, ADR1)  // _BAS: Base Address
                        CreateDWordField (BUF2, \_SB.URSC.UARB._Y32._BAS, ADR2)  // _BAS: Base Address
                        Local1 = (BAR0 & 0xFFFFFFFFFFFFF000)
                        ADR1 = (Local1 + 0x08)
                        ADR2 = (BAR1 & 0xFFFFFFFFFFFFF000)
                        ConcatenateResTemplate (BUF1, BUF2, Local0)
                        Return (Local0)
                    }

                    Return (Buffer (0x02)
                    {
                         0x79, 0x00                                       // y.
                    })
                }

                Name (URDA, Package (0x0A)
                {
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
            }

            Method (URSA, 2, Serialized)
            {
                Local0 = Zero
                While ((Local0 < SizeOf (^URSC.URDA)))
                {
                    Local1 = DerefOf (DerefOf (^URSC.URDA [Local0]) [Zero])
                    If ((Local1 == Arg0))
                    {
                        DerefOf (^URSC.URDA [Local0]) [One] = Arg1
                        Return (Zero)
                    }

                    Local0 += One
                }

                Local0 = Zero
                While ((Local0 < SizeOf (^URSC.URDA)))
                {
                    Local1 = DerefOf (DerefOf (^URSC.URDA [Local0]) [Zero])
                    If ((Local1 == Zero))
                    {
                        DerefOf (^URSC.URDA [Local0]) [Zero] = Arg0
                        DerefOf (^URSC.URDA [Local0]) [One] = Arg1
                        Return (Zero)
                    }

                    Local0 += One
                }
            }

            Method (URRS, 1, Serialized)
            {
                Local0 = Zero
                While ((Local0 < SizeOf (^URSC.URDA)))
                {
                    Local1 = DerefOf (DerefOf (^URSC.URDA [Local0]) [Zero])
                    If ((Local1 == Arg0))
                    {
                        Return (DerefOf (DerefOf (^URSC.URDA [Local0]) [One]))
                    }

                    Local0 += One
                }

                Return (Package (0x08)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
            }

            Method (UARH, 2, Serialized)
            {
                OperationRegion (UACF, SystemMemory, Arg0, 0x18)
                Field (UACF, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x10), 
                    BAR0,   64
                }

                Name (BUF0, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00000008,         // Address Length
                        _Y33)
                })
                Name (IBUF, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y34)
                    {
                        0x00000014,
                    }
                })
                CreateDWordField (BUF0, \_SB.UARH._Y33._BAS, ADR0)  // _BAS: Base Address
                CreateDWordField (IBUF, \_SB.UARH._Y34._INT, IRQN)  // _INT: Interrupts
                Local0 = (BAR0 & 0xFFFFFFFFFFFFF000)
                ADR0 = Local0
                IRQN = Arg1
                ConcatenateResTemplate (BUF0, IBUF, Local1)
                Return (Local1)
            }

            Method (UAPG, 3, Serialized)
            {
                If ((Arg1 != 0x02))
                {
                    Return (Arg1)
                }

                OperationRegion (UACF, SystemMemory, Arg2, 0x18)
                Field (UACF, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x10), 
                    BAR0,   64
                }

                OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x10)
                Field (UAB0, ByteAcc, Lock, Preserve)
                {
                    DLL,    8, 
                    DLH,    8, 
                    FCR,    8, 
                    LCR,    8
                }

                Local0 = LCR /* \_SB_.UAPG.LCR_ */
                If ((Local0 && 0x7F))
                {
                    Return (Zero)
                }

                Return (One)
            }

            Method (UHID, 1, Serialized)
            {
                If ((Arg0 == 0x03))
                {
                    Return (0x0105D041)
                }

                Return (0x020CD041)
            }

            Method (UPS3, 2, Serialized)
            {
                Name (REGS, Package (0x08)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                If ((Arg0 == One))
                {
                    OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                    Field (UACF, AnyAcc, NoLock, Preserve)
                    {
                        Offset (0x10), 
                        BAR0,   64
                    }

                    Field (UACF, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0x84), 
                        PMEC,   8
                    }

                    OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                    Field (UAB0, ByteAcc, Lock, Preserve)
                    {
                        DLL,    8, 
                        DLH,    8, 
                        FCR,    8, 
                        LCR,    8, 
                        MCR,    8, 
                        Offset (0x81), 
                        PPRR,   8
                    }

                    Field (UAB0, DWordAcc, NoLock, Preserve)
                    {
                        Offset (0x80), 
                        PCLK,   32
                    }

                    Local1 = LCR /* \_SB_.UPS3.LCR_ */
                    LCR |= 0x80
                    REGS [Zero] = DLL /* \_SB_.UPS3.DLL_ */
                    REGS [One] = DLH /* \_SB_.UPS3.DLH_ */
                    LCR = Local1
                    REGS [0x02] = FCR /* \_SB_.UPS3.FCR_ */
                    REGS [0x03] = Local1
                    REGS [0x04] = MCR /* \_SB_.UPS3.MCR_ */
                    REGS [0x05] = PCLK /* \_SB_.UPS3.PCLK */
                    If (((DerefOf (REGS [0x05]) != Zero) && (
                        DerefOf (REGS [0x05]) != 0xFFFFFFFF)))
                    {
                        URSA ((BAR0 & 0xFFFFFFFFFFFFF000), REGS)
                    }

                    PPRR = Zero
                    PPRR |= Zero
                    PMEC = 0x03
                    PMEC |= Zero
                }
            }

            Method (UPS0, 2, Serialized)
            {
                If ((Arg0 == One))
                {
                    OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                    Field (UACF, AnyAcc, NoLock, Preserve)
                    {
                        Offset (0x10), 
                        BAR0,   64
                    }

                    Field (UACF, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0x84), 
                        PMEC,   8
                    }

                    OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                    Field (UAB0, ByteAcc, Lock, Preserve)
                    {
                        DLL,    8, 
                        DLH,    8, 
                        FCR,    8, 
                        LCR,    8, 
                        MCR,    8, 
                        Offset (0x81), 
                        PPRR,   8
                    }

                    Field (UAB0, DWordAcc, NoLock, Preserve)
                    {
                        Offset (0x80), 
                        PCLK,   32
                    }

                    PMEC = Zero
                    PMEC |= Zero
                    PPRR = 0x07
                    Local0 = URRS ((BAR0 & 0xFFFFFFFFFFFFF000))
                    If (((DerefOf (Local0 [0x05]) != Zero) && (
                        DerefOf (Local0 [0x05]) != 0xFFFFFFFF)))
                    {
                        LCR |= 0x80
                        DLL = DerefOf (Local0 [Zero])
                        DLH = DerefOf (Local0 [One])
                        LCR = DerefOf (Local0 [0x03])
                        FCR = DerefOf (Local0 [0x02])
                        MCR = DerefOf (Local0 [0x04])
                        Local2 = (DerefOf (Local0 [0x05]) | 0x80000001)
                        PCLK = Local2
                        Local2 = (DerefOf (Local0 [0x05]) | One)
                        PCLK = Local2
                    }
                }
            }

            Method (UPSC, 1, Serialized)
            {
                OperationRegion (UACF, SystemMemory, (Arg0 + 0x84), 0x04)
                Field (UACF, ByteAcc, NoLock, Preserve)
                {
                    PMEC,   8
                }

                Return ((PMEC & 0x03))
            }
        }

        Scope (_SB.URSC)
        {
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Local0 = UARB (UM00, UC00)
                ConcatenateResTemplate (Local0, UARB (UM01, UC01), Local1)
                Local0 = Local1
                ConcatenateResTemplate (Local0, UARB (UM02, UC02), Local1)
                Local0 = Local1
                Return (Local0)
            }
        }

        Scope (_SB.PC00)
        {
            Device (UA00)
            {
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (UDSM (Arg0))
                    {
                        Return (UDMA (Arg2, UD00))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x001E0000)
                }

                Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                {
                    SOD3 (UC00, One, One)
                }

                Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                {
                }
            }
        }

        Scope (_SB)
        {
            If (((UM00 == 0x02) || (UM00 == 0x03)))
            {
                Device (UAH0)
                {
                    Name (_DDN, "SerialIoUart0")  // _DDN: DOS Device Name
                    Name (_UID, "SerialIoUart0")  // _UID: Unique ID
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return (UHID (UM00))
                    }

                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (UARH (UC00, UI00))
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((UM00 == 0x03))
                        {
                            If ((UP00 == 0x02))
                            {
                                UP00 = UAPG (UM00, UP00, UC00)
                            }

                            Return (0x0F)
                        }

                        Return (0x08)
                    }

                    If ((UM00 == 0x03))
                    {
                        Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
                        {
                            Return (UPSC (UC00))
                        }

                        Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                        {
                            UPS3 (UP00, UC00)
                        }

                        Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                        {
                            UPS0 (UP00, UC00)
                        }
                    }
                }
            }
        }

        Scope (_SB.PC00)
        {
            Device (UA01)
            {
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (UDSM (Arg0))
                    {
                        Return (UDMA (Arg2, UD01))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x001E0001)
                }

                Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                {
                    SOD3 (UC01, One, One)
                }

                Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                {
                }
            }
        }

        Scope (_SB)
        {
            If (((UM01 == 0x02) || (UM01 == 0x03)))
            {
                Device (UAH1)
                {
                    Name (_DDN, "SerialIoUart1")  // _DDN: DOS Device Name
                    Name (_UID, "SerialIoUart1")  // _UID: Unique ID
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return (UHID (UM01))
                    }

                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (UARH (UC01, UI01))
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((UM01 == 0x03))
                        {
                            If ((UP01 == 0x02))
                            {
                                UP01 = UAPG (UM01, UP01, UC01)
                            }

                            Return (0x0F)
                        }

                        Return (0x08)
                    }

                    If ((UM01 == 0x03))
                    {
                        Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
                        {
                            Return (UPSC (UC01))
                        }

                        Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                        {
                            UPS3 (UP01, UC01)
                        }

                        Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                        {
                            UPS0 (UP01, UC01)
                        }
                    }
                }
            }
        }

        Scope (_SB.PC00)
        {
            Device (UA02)
            {
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (UDSM (Arg0))
                    {
                        Return (UDMA (Arg2, UD02))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00190002)
                }

                Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                {
                    SOD3 (UC02, One, One)
                }

                Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                {
                }
            }
        }

        Scope (_SB)
        {
            If (((UM02 == 0x02) || (UM02 == 0x03)))
            {
                Device (UAH2)
                {
                    Name (_DDN, "SerialIoUart2")  // _DDN: DOS Device Name
                    Name (_UID, "SerialIoUart2")  // _UID: Unique ID
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return (UHID (UM02))
                    }

                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (UARH (UC02, UI02))
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((UM02 == 0x03))
                        {
                            If ((UP02 == 0x02))
                            {
                                UP02 = UAPG (UM02, UP02, UC02)
                            }

                            Return (0x0F)
                        }

                        Return (0x08)
                    }

                    If ((UM02 == 0x03))
                    {
                        Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
                        {
                            Return (UPSC (UC02))
                        }

                        Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                        {
                            UPS3 (UP02, UC02)
                        }

                        Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                        {
                            UPS0 (UP02, UC02)
                        }
                    }
                }
            }
        }

        Scope (_SB.PC00)
        {
            If ((CRFP == One))
            {
                If ((CWFC == One))
                {
                    Device (CNVW)
                    {
                        Name (_ADR, 0x00140003)  // _ADR: Address
                        Name (PU2C, Zero)
                        PU2C = \PU2C
                        Method (BASE, 0, NotSerialized)
                        {
                            Local0 = PC2M (_ADR, Zero)
                            Return (Local0)
                        }

                        Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                        {
                            ADBG ("CNVW Ctrlr D0")
                            S023 (0x02, One)
                        }

                        Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                        {
                            ADBG ("CNVW Ctrlr D3")
                            Local0 = PCRR (PCNV, 0x8100)
                            If (((Local0 & 0x7F) == 0x4C))
                            {
                                S023 (0x02, Zero)
                            }
                        }

                        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                        {
                            If (CondRefOf (GP1E))
                            {
                                If ((GP1E != Zero))
                                {
                                    Return (GPRW (0x85, 0x04))
                                }
                            }

                            Return (GPRW (0x6D, 0x04))
                        }

                        Name (ADEL, Zero)
                        If ((ARLM == One))
                        {
                            ADEL = 0x32
                        }
                        Else
                        {
                            ADEL = 0x0A
                        }

                        Name (RSTT, Zero)
                        Name (PRRS, Zero)
                        OperationRegion (CWAR, SystemMemory, BASE (), 0x0100)
                        Field (CWAR, WordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x44), 
                                ,   28, 
                            WFLR,   1, 
                            Offset (0x48), 
                                ,   15, 
                            WIFR,   1
                        }

                        Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                        {
                            Return (0x03)
                        }

                        Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                        {
                        }

                        PowerResource (WRST, 0x05, 0x0000)
                        {
                            Method (_STA, 0, NotSerialized)  // _STA: Status
                            {
                                Return (One)
                            }

                            Method (_ON, 0, NotSerialized)  // _ON_: Power On
                            {
                            }

                            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                            {
                            }

                            Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                            {
                                Local0 = Acquire (CNMT, 0x03E8)
                                If ((Local0 == Zero))
                                {
                                    CFLR ()
                                    PRRS = One
                                    If ((CondRefOf (RSTT) && (RSTT == One)))
                                    {
                                        ADBG ("WiFi Product Reset")
                                        ADBG (Concatenate ("PID of CNVi = ", ToHexString (PCNV)))
                                        Local5 = ^^^SBSC.PCRR (PCNV, 0x80)
                                        ADBG (Concatenate ("Register PLDB Value = ", ToHexString (Local5)))
                                        If (((^^^SBSC.PCRR (PCNV, 0x80) & 0x02) == Zero))
                                        {
                                            ADBG ("ABORT_REQUEST = 0, previous PLDR completed")
                                            If ((GBTR () == One))
                                            {
                                                BTRK (Zero)
                                                Sleep (0xA0)
                                                Local2 = One
                                            }

                                            ^^^SBSC.PCRO (PCNV, 0x80, 0x03)
                                            ADBG (Concatenate ("WiFi PLDR Timeout wait(ms) = ", ToHexString (ADEL)))
                                            Sleep (ADEL)
                                            Local1 = ^^^SBSC.PCRR (PCNV, 0x80)
                                            ADBG (Concatenate ("CNVI_PLDR_ABORT = ", ToHexString (Local1)))
                                            If ((((Local1 & 0x02) == Zero) && (Local1 & 0x04)))
                                            {
                                                ADBG ("WiFi Product Reset Completed")
                                                PRRS = 0x02
                                                If ((Local2 == One))
                                                {
                                                    BTRK (One)
                                                    Sleep (0xA0)
                                                }
                                            }
                                            Else
                                            {
                                                PRRS = 0x04
                                                BTRK (One)
                                            }
                                        }
                                        Else
                                        {
                                            PRRS = 0x03
                                        }
                                    }

                                    ADBG (Concatenate ("WiFi PRRS = ", PRRS))
                                    Release (CNMT)
                                }
                            }
                        }

                        Name (_PRR, Package (0x01)  // _PRR: Power Resource for Reset
                        {
                            WRST
                        })
                        Method (CFLR, 0, NotSerialized)
                        {
                            ADBG (Concatenate ("WiFi Core Reset, WFLR = ", WFLR))
                            If ((WFLR == One))
                            {
                                WIFR = One
                            }
                        }
                    }
                }
            }
        }

        Scope (_SB.PC00)
        {
            Device (SAT0)
            {
                Name (_ADR, 0x00170000)  // _ADR: Address
                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG ("SATA0 Ctrlr D0")
                    If ((PCHS == PCHP))
                    {
                        If (!SCFD)
                        {
                            CSD0 (0x14)
                        }
                    }

                    ISAT = Zero
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG ("SATA0 Ctrlr D3")
                    ISAT = One
                    If ((PCHS == PCHP))
                    {
                        CSD3 (0x14)
                    }
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
                        {
                            ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "StorageD3Enable", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If ((CondRefOf (SATC) && CondRefOf (SATD)))
                    {
                        If (SATC (Arg0))
                        {
                            Return (SATD (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                {
                    Return (0x03)
                }

                Device (PRT0)
                {
                    Name (_ADR, 0xFFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & One))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT1)
                {
                    Name (_ADR, 0x0001FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x02))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT2)
                {
                    Name (_ADR, 0x0002FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x04))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT3)
                {
                    Name (_ADR, 0x0003FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x08))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT4)
                {
                    Name (_ADR, 0x0004FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x10))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT5)
                {
                    Name (_ADR, 0x0005FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x20))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT6)
                {
                    Name (_ADR, 0x0006FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x40))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT7)
                {
                    Name (_ADR, 0x0007FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x80))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }
            }
        }

        Scope (_SB.PC00)
        {
            Method (TINT, 1, Serialized)
            {
                Name (TINR, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                CreateWordField (TINR, 0x17, INT1)
                INT1 = GNUM (Arg0)
                Return (TINR) /* \_SB_.PC00.TINT.TINR */
            }

            Device (THC0)
            {
                Name (_ADR, 0x00100000)  // _ADR: Address
                Name (RSTL, Zero)
                OperationRegion (THCR, PCI_Config, Zero, 0x0100)
                Field (THCR, ByteAcc, NoLock, Preserve)
                {
                    VDID,   32
                }

                If ((VDID != 0xFFFFFFFF))
                {
                    Name (ICRS, Buffer (0x0C){})
                    CreateWordField (ICRS, Zero, DADR)
                    CreateQWordField (ICRS, 0x02, DSPD)
                    CreateByteField (ICRS, 0x0A, DADM)
                    Name (ISUB, Buffer (0x91){})
                    CreateQWordField (ISUB, Zero, SMHX)
                    CreateQWordField (ISUB, 0x08, SMLX)
                    CreateQWordField (ISUB, 0x10, SMTD)
                    CreateQWordField (ISUB, 0x18, SMRD)
                    CreateQWordField (ISUB, 0x20, FMHX)
                    CreateQWordField (ISUB, 0x28, FMLX)
                    CreateQWordField (ISUB, 0x30, FMTD)
                    CreateQWordField (ISUB, 0x38, FMRD)
                    CreateQWordField (ISUB, 0x40, FMSL)
                    CreateQWordField (ISUB, 0x48, FPHX)
                    CreateQWordField (ISUB, 0x50, FPLX)
                    CreateQWordField (ISUB, 0x58, FPTD)
                    CreateQWordField (ISUB, 0x60, FPRD)
                    CreateQWordField (ISUB, 0x68, HMHX)
                    CreateQWordField (ISUB, 0x70, HMLX)
                    CreateQWordField (ISUB, 0x78, HMTD)
                    CreateQWordField (ISUB, 0x80, HMRD)
                    CreateQWordField (ISUB, 0x88, HMSL)
                    DADR = Zero
                    DSPD = Zero
                    DADM = Zero
                    SMHX = Zero
                    SMLX = Zero
                    SMTD = Zero
                    SMRD = Zero
                    FMHX = Zero
                    FMLX = Zero
                    FMTD = Zero
                    FMRD = Zero
                    FMSL = Zero
                    FPHX = Zero
                    FPLX = Zero
                    FPTD = Zero
                    FPRD = Zero
                    HMHX = Zero
                    HMLX = Zero
                    HMTD = Zero
                    HMRD = Zero
                    HMSL = Zero
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If ((TMD0 == One))
                        {
                            If ((Arg0 == ToUUID ("6e2ac436-0fcf-41af-a265-b32a220dcfab") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Switch (ToInteger (Arg1))
                                        {
                                            Case (0x02)
                                            {
                                                Return (Buffer (One)
                                                {
                                                     0x7F                                             // .
                                                })
                                            }
                                            Default
                                            {
                                                Return (Buffer (One)
                                                {
                                                     0x00                                             // .
                                                })
                                            }

                                        }
                                    }
                                    Case (One)
                                    {
                                        ADBG ("THC THC_INPUT_REPORT_HEADER_ADDRESS")
                                        Return (ToInteger (T040))
                                    }
                                    Case (0x02)
                                    {
                                        ADBG ("THC THC_INPUT_REPORT_BODY_ADDRESS")
                                        Return (ToInteger (T050))
                                    }
                                    Case (0x03)
                                    {
                                        ADBG ("THC THC_OUTPUT_REPORT_ADDRESS")
                                        Return (ToInteger (T060))
                                    }
                                    Case (0x04)
                                    {
                                        ADBG ("THC THC_READ_OPCODE")
                                        Name (BUF4, Buffer (One){})
                                        Local0 = ToBuffer (T070)
                                        BUF4 [Zero] = DerefOf (Local0 [Zero])
                                        Return (BUF4) /* \_SB_.PC00.THC0._DSM.BUF4 */
                                    }
                                    Case (0x05)
                                    {
                                        ADBG ("THC THC_WRITE_OPCODE")
                                        Name (BUF5, Buffer (One){})
                                        Local1 = ToBuffer (T080)
                                        BUF5 [Zero] = DerefOf (Local1 [Zero])
                                        Return (BUF5) /* \_SB_.PC00.THC0._DSM.BUF5 */
                                    }
                                    Case (0x06)
                                    {
                                        ADBG ("THC THC_FLAGS")
                                        Return (ToInteger (T090))
                                    }
                                    Default
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00                                             // .
                                        })
                                    }

                                }

                                Return (Buffer (One)
                                {
                                     0x00                                             // .
                                })
                            }

                            If ((Arg0 == ToUUID ("300d35b7-ac20-413e-8e9c-92e4dafd0afe") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x07                                             // .
                                        })
                                    }
                                    Case (One)
                                    {
                                        ADBG ("THC THC_CONNECTION_SPEED")
                                        Return (ToInteger (T030))
                                    }
                                    Case (0x02)
                                    {
                                        ADBG ("THC THC_LIMIT_PACKET_SIZE")
                                        Return (ToInteger (T0C0))
                                    }
                                    Case (0x03)
                                    {
                                        ADBG ("THC THC_PERFORMANCE_LIMITATION")
                                        Return (ToInteger (T0D0))
                                    }
                                    Default
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00                                             // .
                                        })
                                    }

                                }
                            }
                        }

                        If ((Arg0 == ToUUID ("84005682-5b71-41a4-8d66-8130f787a138") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_ACTIVE_LTR")
                                    Return (ToInteger (T0A0))
                                }
                                Case (0x02)
                                {
                                    ADBG ("THC THC_IDLE_LTR")
                                    Return (ToInteger (T0B0))
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If ((Arg0 == ToUUID ("9b1e77c4-53db-43bd-a276-f7287604d1bd") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x01                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_DISPLAY_FRAME_SYNC_PERIOD")
                                    Return (Zero)
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x01                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_HIDI2C_DEVICE_ADDRESS")
                                    Return (Zero)
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        Return (Buffer (Zero){})
                    }

                    If ((TIN0 != Zero))
                    {
                        Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Return (TINT (TIN0))
                        }
                    }

                    If ((TMD0 != Zero))
                    {
                        Method (_INI, 0, NotSerialized)  // _INI: Initialize
                        {
                            ADBG ("THC _INI")
                            SHPO (T010, One)
                            SPMV (T010, Zero)
                            SPC0 (T010, (0x42000200 | (~(T020 & One) & One
                                )))
                            If (CondRefOf (^CINI))
                            {
                                CINI (T010, T0F0)
                            }
                        }

                        Method (_RST, 0, Serialized)  // _RST: Device Reset
                        {
                            ADBG ("THC _RST")
                            While ((RSTL == One))
                            {
                                Sleep (0x0A)
                            }

                            RSTL = One
                            SGOV (T010, (T020 & One))
                            Sleep (T0F0)
                            SGOV (T010, (~(T020 & One) & One))
                            RSTL = Zero
                        }

                        Name (_DSD, Package (0x04)  // _DSD: Device-Specific Data
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            ICRS, 
                            ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */, 
                            ISUB
                        })
                    }
                }
            }

            Device (THC1)
            {
                Name (_ADR, 0x00100001)  // _ADR: Address
                Name (RSTL, Zero)
                OperationRegion (THCR, PCI_Config, Zero, 0x0100)
                Field (THCR, ByteAcc, NoLock, Preserve)
                {
                    VDID,   32
                }

                If ((VDID != 0xFFFFFFFF))
                {
                    Name (ICRS, Buffer (0x0C){})
                    CreateWordField (ICRS, Zero, DADR)
                    CreateQWordField (ICRS, 0x02, DSPD)
                    CreateByteField (ICRS, 0x0A, DADM)
                    Name (ISUB, Buffer (0x91){})
                    CreateQWordField (ISUB, Zero, SMHX)
                    CreateQWordField (ISUB, 0x08, SMLX)
                    CreateQWordField (ISUB, 0x10, SMTD)
                    CreateQWordField (ISUB, 0x18, SMRD)
                    CreateQWordField (ISUB, 0x20, FMHX)
                    CreateQWordField (ISUB, 0x28, FMLX)
                    CreateQWordField (ISUB, 0x30, FMTD)
                    CreateQWordField (ISUB, 0x38, FMRD)
                    CreateQWordField (ISUB, 0x40, FMSL)
                    CreateQWordField (ISUB, 0x48, FPHX)
                    CreateQWordField (ISUB, 0x50, FPLX)
                    CreateQWordField (ISUB, 0x58, FPTD)
                    CreateQWordField (ISUB, 0x60, FPRD)
                    CreateQWordField (ISUB, 0x68, HMHX)
                    CreateQWordField (ISUB, 0x70, HMLX)
                    CreateQWordField (ISUB, 0x78, HMTD)
                    CreateQWordField (ISUB, 0x80, HMRD)
                    CreateQWordField (ISUB, 0x88, HMSL)
                    DADR = Zero
                    DSPD = Zero
                    DADM = Zero
                    SMHX = Zero
                    SMLX = Zero
                    SMTD = Zero
                    SMRD = Zero
                    FMHX = Zero
                    FMLX = Zero
                    FMTD = Zero
                    FMRD = Zero
                    FMSL = Zero
                    FPHX = Zero
                    FPLX = Zero
                    FPTD = Zero
                    FPRD = Zero
                    HMHX = Zero
                    HMLX = Zero
                    HMTD = Zero
                    HMRD = Zero
                    HMSL = Zero
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If ((TMD1 == One))
                        {
                            If ((Arg0 == ToUUID ("6e2ac436-0fcf-41af-a265-b32a220dcfab") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Switch (ToInteger (Arg1))
                                        {
                                            Case (0x02)
                                            {
                                                Return (Buffer (One)
                                                {
                                                     0x7F                                             // .
                                                })
                                            }
                                            Default
                                            {
                                                Return (Buffer (One)
                                                {
                                                     0x00                                             // .
                                                })
                                            }

                                        }
                                    }
                                    Case (One)
                                    {
                                        ADBG ("THC THC_INPUT_REPORT_HEADER_ADDRESS")
                                        Return (ToInteger (T041))
                                    }
                                    Case (0x02)
                                    {
                                        ADBG ("THC THC_INPUT_REPORT_BODY_ADDRESS")
                                        Return (ToInteger (T051))
                                    }
                                    Case (0x03)
                                    {
                                        ADBG ("THC THC_OUTPUT_REPORT_ADDRESS")
                                        Return (ToInteger (T061))
                                    }
                                    Case (0x04)
                                    {
                                        ADBG ("THC THC_READ_OPCODE")
                                        Name (BUF4, Buffer (One){})
                                        Local0 = ToBuffer (T071)
                                        BUF4 [Zero] = DerefOf (Local0 [Zero])
                                        Return (BUF4) /* \_SB_.PC00.THC1._DSM.BUF4 */
                                    }
                                    Case (0x05)
                                    {
                                        ADBG ("THC THC_WRITE_OPCODE")
                                        Name (BUF5, Buffer (One){})
                                        Local1 = ToBuffer (T081)
                                        BUF5 [Zero] = DerefOf (Local1 [Zero])
                                        Return (BUF5) /* \_SB_.PC00.THC1._DSM.BUF5 */
                                    }
                                    Case (0x06)
                                    {
                                        ADBG ("THC THC_FLAGS")
                                        Return (ToInteger (T091))
                                    }
                                    Default
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00                                             // .
                                        })
                                    }

                                }

                                Return (Buffer (One)
                                {
                                     0x00                                             // .
                                })
                            }

                            If ((Arg0 == ToUUID ("300d35b7-ac20-413e-8e9c-92e4dafd0afe") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x07                                             // .
                                        })
                                    }
                                    Case (One)
                                    {
                                        ADBG ("THC THC_CONNECTION_SPEED")
                                        Return (ToInteger (T031))
                                    }
                                    Case (0x02)
                                    {
                                        ADBG ("THC THC_LIMIT_PACKET_SIZE")
                                        Return (ToInteger (T0C1))
                                    }
                                    Case (0x03)
                                    {
                                        ADBG ("THC THC_PERFORMANCE_LIMITATION")
                                        Return (ToInteger (T0D1))
                                    }
                                    Default
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00                                             // .
                                        })
                                    }

                                }
                            }
                        }

                        If ((Arg0 == ToUUID ("84005682-5b71-41a4-8d66-8130f787a138") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_ACTIVE_LTR")
                                    Return (ToInteger (T0A1))
                                }
                                Case (0x02)
                                {
                                    ADBG ("THC THC_IDLE_LTR")
                                    Return (ToInteger (T0B1))
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If ((Arg0 == ToUUID ("9b1e77c4-53db-43bd-a276-f7287604d1bd") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x01                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_DISPLAY_FRAME_SYNC_PERIOD")
                                    Return (Zero)
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x01                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_HIDI2C_DEVICE_ADDRESS")
                                    Return (Zero)
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        Return (Buffer (Zero){})
                    }

                    If ((TIN1 != Zero))
                    {
                        Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Return (TINT (TIN1))
                        }
                    }

                    If ((TMD1 != Zero))
                    {
                        Method (_INI, 0, NotSerialized)  // _INI: Initialize
                        {
                            ADBG ("THC _INI")
                            SHPO (T011, One)
                            SPMV (T011, Zero)
                            SPC0 (T011, (0x42000200 | (~(T021 & One) & One
                                )))
                            If (CondRefOf (^CINI))
                            {
                                CINI (T011, T0F1)
                            }
                        }

                        Method (_RST, 0, Serialized)  // _RST: Device Reset
                        {
                            ADBG ("THC _RST")
                            While ((RSTL == One))
                            {
                                Sleep (0x0A)
                            }

                            RSTL = One
                            SGOV (T011, (T021 & One))
                            Sleep (T0F1)
                            SGOV (T011, (~(T021 & One) & One))
                            RSTL = Zero
                        }

                        Name (_DSD, Package (0x04)  // _DSD: Device-Specific Data
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            ICRS, 
                            ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */, 
                            ISUB
                        })
                    }
                }
            }
        }
    }

    Scope (_SB.PC00)
    {
        Scope (\_SB.PC00)
        {
            If ((UF0E == One))
            {
                Device (PUF0)
                {
                    Name (_ADR, 0x00120007)  // _ADR: Address
                    Name (_DDN, "Intel(R) UFS Controller")  // _DDN: DOS Device Name
                }
            }
        }
    }

    Scope (_SB)
    {
        Device (ICLK)
        {
            Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
            Name (_UID, "SOCCLK")  // _UID: Unique ID
            OperationRegion (CKOR, SystemMemory, (SBRG + ((ICKP << 0x10) + 0x8000)), 0x40)
            Field (CKOR, AnyAcc, Lock, Preserve)
            {
                CLK0,   8, 
                Offset (0x0C), 
                CLK1,   8, 
                Offset (0x18), 
                CLK2,   8, 
                Offset (0x24), 
                CLK3,   8, 
                Offset (0x30), 
                CLK4,   8, 
                Offset (0x3C), 
                CLK5,   8
            }

            Method (NCLK, 0, NotSerialized)
            {
                Return (0x06)
            }

            Method (CLKC, 2, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Local0 = CLK0 /* \_SB_.ICLK.CLK0 */
                        CLK0 = ((Local0 & 0xFFFFFFFFFFFFFFFB) | (Arg1 << 0x02))
                    }
                    Case (One)
                    {
                        Local0 = CLK1 /* \_SB_.ICLK.CLK1 */
                        CLK1 = ((Local0 & 0xFFFFFFFFFFFFFFFB) | (Arg1 << 0x02))
                    }
                    Case (0x02)
                    {
                        Local0 = CLK2 /* \_SB_.ICLK.CLK2 */
                        CLK2 = ((Local0 & 0xFFFFFFFFFFFFFFFB) | (Arg1 << 0x02))
                    }
                    Case (0x03)
                    {
                        Local0 = CLK3 /* \_SB_.ICLK.CLK3 */
                        CLK3 = ((Local0 & 0xFFFFFFFFFFFFFFFB) | (Arg1 << 0x02))
                    }
                    Case (0x04)
                    {
                        Local0 = CLK4 /* \_SB_.ICLK.CLK4 */
                        CLK4 = ((Local0 & 0xFFFFFFFFFFFFFFFB) | (Arg1 << 0x02))
                    }
                    Case (0x05)
                    {
                        Local0 = CLK5 /* \_SB_.ICLK.CLK5 */
                        CLK5 = ((Local0 & 0xFFFFFFFFFFFFFFFB) | (Arg1 << 0x02))
                    }

                }
            }

            Method (CLKF, 2, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Local0 = CLK0 /* \_SB_.ICLK.CLK0 */
                        CLK0 = ((Local0 & 0xFFFFFFFFFFFFFFFC) | (Arg1 & 0x03))
                    }
                    Case (One)
                    {
                        Local0 = CLK1 /* \_SB_.ICLK.CLK1 */
                        CLK1 = ((Local0 & 0xFFFFFFFFFFFFFFFC) | (Arg1 & 0x03))
                    }
                    Case (0x02)
                    {
                        Local0 = CLK2 /* \_SB_.ICLK.CLK2 */
                        CLK2 = ((Local0 & 0xFFFFFFFFFFFFFFFC) | (Arg1 & 0x03))
                    }
                    Case (0x03)
                    {
                        Local0 = CLK3 /* \_SB_.ICLK.CLK3 */
                        CLK3 = ((Local0 & 0xFFFFFFFFFFFFFFFC) | (Arg1 & 0x03))
                    }
                    Case (0x04)
                    {
                        Local0 = CLK4 /* \_SB_.ICLK.CLK4 */
                        CLK4 = ((Local0 & 0xFFFFFFFFFFFFFFFC) | (Arg1 & 0x03))
                    }
                    Case (0x05)
                    {
                        Local0 = CLK5 /* \_SB_.ICLK.CLK5 */
                        CLK5 = ((Local0 & 0xFFFFFFFFFFFFFFFC) | (Arg1 & 0x03))
                    }

                }
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (0x03)
            }

            Name (PID, 0x64)
            Method (CLKD, 1, NotSerialized)
            {
                ^^PC00.SBSC.PCRA (PID, 0x8080, ~(One << Arg0))
            }

            Method (CLKE, 1, NotSerialized)
            {
                ^^PC00.SBSC.PCRO (PID, 0x8080, (One << Arg0))
            }
        }

        Device (ECLK)
        {
            Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
            Name (_UID, "IOECLK")  // _UID: Unique ID
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (0x03)
            }

            Name (PID, 0x64)
            Method (CLKD, 1, NotSerialized)
            {
                ^^PC00.SBIE.PCRA (PID, 0x8080, ~(One << Arg0))
            }

            Method (CLKE, 1, NotSerialized)
            {
                ^^PC00.SBIE.PCRO (PID, 0x8080, (One << Arg0))
            }
        }
    }

    Scope (\)
    {
        Method (SPCO, 2, Serialized)
        {
            ADBG ("Calling SPCO method to configure PCIe ClkReq Override")
            If ((PCHS == 0x04))
            {
                If ((Arg1 == One))
                {
                    If ((Arg0 > 0x03))
                    {
                        \_SB.ECLK.CLKE ((Arg0 - 0x04))
                    }
                    Else
                    {
                        \_SB.ICLK.CLKE (Arg0)
                    }
                }
                ElseIf ((Arg0 > 0x03))
                {
                    \_SB.ECLK.CLKD ((Arg0 - 0x04))
                }
                Else
                {
                    \_SB.ICLK.CLKD (Arg0)
                }
            }
            ElseIf ((Arg1 == One))
            {
                If ((Arg0 > 0x05))
                {
                    \_SB.ECLK.CLKE ((Arg0 - 0x06))
                }
                Else
                {
                    \_SB.ICLK.CLKE (Arg0)
                }
            }
            ElseIf ((Arg0 > 0x05))
            {
                \_SB.ECLK.CLKD ((Arg0 - 0x06))
            }
            Else
            {
                \_SB.ICLK.CLKD (Arg0)
            }
        }

        Method (HBCM, 2, Serialized)
        {
        }
    }

    Scope (_SB)
    {
        Device (GPI0)
        {
            Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
            {
                If ((GPHD == One))
                {
                    Return ("PNP0C02")
                }

                If ((PCHS == 0x04))
                {
                    Return ("INTC1082")
                }
                ElseIf ((ARLM == One))
                {
                    Return ("INTC105E")
                }
                Else
                {
                    Return ("INTC1083")
                }
            }

            Name (LINK, "\\_SB.GPI0")
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (RBPS, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y35)
                    {
                        0x0000000E,
                    }
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00010000,         // Address Length
                        _Y36)
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00010000,         // Address Length
                        _Y37)
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00010000,         // Address Length
                        _Y38)
                })
                CreateDWordField (RBPS, \_SB.GPI0._CRS._Y35._INT, INTH)  // _INT: Interrupts
                INTH = SGIR /* \SGIR */
                CreateDWordField (RBPS, \_SB.GPI0._CRS._Y36._BAS, CMH0)  // _BAS: Base Address
                CMH0 = (SBRG + 0x00D10000)
                CreateDWordField (RBPS, \_SB.GPI0._CRS._Y37._BAS, CMH1)  // _BAS: Base Address
                CMH1 = (SBRG + 0x00D20000)
                CreateDWordField (RBPS, \_SB.GPI0._CRS._Y38._BAS, CMH3)  // _BAS: Base Address
                CMH3 = (SBRG + 0x00D30000)
                If ((PCHS != 0x04))
                {
                    Name (RBFS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadWrite,
                            0x00000000,         // Address Base
                            0x00010000,         // Address Length
                            _Y39)
                        Memory32Fixed (ReadWrite,
                            0x00000000,         // Address Base
                            0x00010000,         // Address Length
                            _Y3A)
                    })
                    CreateDWordField (RBFS, \_SB.GPI0._CRS._Y39._BAS, CMH4)  // _BAS: Base Address
                    CMH4 = (SBRG + 0x00D40000)
                    CreateDWordField (RBFS, \_SB.GPI0._CRS._Y3A._BAS, CMH5)  // _BAS: Base Address
                    CMH5 = (SBRG + 0x00D50000)
                    ConcatenateResTemplate (RBPS, RBFS, Local0)
                    Return (Local0)
                }

                Return (RBPS) /* \_SB_.GPI0._CRS.RBPS */
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((GPHD == One))
                {
                    Return (0x08)
                }

                Return (0x0F)
            }
        }
    }

    Scope (_SB)
    {
        Name (GPCM, Package (0x05)
        {
            Package (0x02)
            {
                0x00D10000, 
                Package (0x03)
                {
                    Package (0x09)
                    {
                        0x05, 
                        0x0600, 
                        0x0140, 
                        0xB0, 
                        0x0230, 
                        0x0110, 
                        0x0114, 
                        Zero, 
                        Zero
                    }, 

                    Package (0x09)
                    {
                        0x18, 
                        0x0650, 
                        0x0144, 
                        0xB4, 
                        0x0234, 
                        0x0118, 
                        0x011C, 
                        0x20, 
                        One
                    }, 

                    Package (0x09)
                    {
                        0x18, 
                        0x07D0, 
                        0x0148, 
                        0xC0, 
                        0x0238, 
                        0x0120, 
                        0x0124, 
                        0x40, 
                        0x02
                    }
                }
            }, 

            Package (0x02)
            {
                0x00D20000, 
                Package (0x02)
                {
                    Package (0x09)
                    {
                        0x19, 
                        0x0600, 
                        0x0140, 
                        0xB0, 
                        0x0230, 
                        0x0110, 
                        0x0114, 
                        0x60, 
                        0x03
                    }, 

                    Package (0x09)
                    {
                        0x19, 
                        0x0790, 
                        0x0144, 
                        0xC0, 
                        0x0234, 
                        0x0118, 
                        0x011C, 
                        0x80, 
                        0x04
                    }
                }
            }, 

            Package (0x02)
            {
                0x00D30000, 
                Package (0x04)
                {
                    Package (0x09)
                    {
                        0x1A, 
                        0x0600, 
                        0x0140, 
                        0xB0, 
                        0x0230, 
                        0x0110, 
                        0x0114, 
                        0xA0, 
                        0x05
                    }, 

                    Package (0x09)
                    {
                        0x1A, 
                        0x07A0, 
                        0x0144, 
                        0xC0, 
                        0x0234, 
                        0x0118, 
                        0x011C, 
                        0xC0, 
                        0x06
                    }, 

                    Package (0x09)
                    {
                        0x0F, 
                        0x0940, 
                        0x0148, 
                        0xD0, 
                        0x0238, 
                        0x0120, 
                        0x0124, 
                        0xE0, 
                        0x07
                    }, 

                    Package (0x09)
                    {
                        0x0E, 
                        0x0A30, 
                        0x014C, 
                        0xD8, 
                        0x023C, 
                        0x0128, 
                        0x012C, 
                        0x0100, 
                        0x08
                    }
                }
            }, 

            Package (0x02)
            {
                0x00D40000, 
                Package (0x02)
                {
                    Package (0x09)
                    {
                        0x08, 
                        0x0600, 
                        0x0140, 
                        0xB0, 
                        0x0230, 
                        0x0110, 
                        0x0114, 
                        0x0120, 
                        0x09
                    }, 

                    Package (0x09)
                    {
                        0x0C, 
                        0x0680, 
                        0x0144, 
                        0xB4, 
                        0x0234, 
                        0x0118, 
                        0x011C, 
                        0x0140, 
                        0x0A
                    }
                }
            }, 

            Package (0x02)
            {
                0x00D50000, 
                Package (0x03)
                {
                    Package (0x09)
                    {
                        0x19, 
                        0x0600, 
                        0x0140, 
                        0xB0, 
                        0x0230, 
                        0x0110, 
                        0x0114, 
                        0x0160, 
                        0x0B
                    }, 

                    Package (0x09)
                    {
                        0x19, 
                        0x0790, 
                        0x0144, 
                        0xC0, 
                        0x0234, 
                        0x0118, 
                        0x011C, 
                        0x0180, 
                        0x0C
                    }, 

                    Package (0x09)
                    {
                        0x23, 
                        0x0920, 
                        0x0148, 
                        0xD0, 
                        0x0238, 
                        0x0120, 
                        0x0124, 
                        0x01A0, 
                        0x0D
                    }
                }
            }
        })
        Name (GPCS, Package (0x03)
        {
            Package (0x02)
            {
                0x00D10000, 
                Package (0x03)
                {
                    Package (0x09)
                    {
                        0x1C, 
                        0x0600, 
                        0x0110, 
                        0xB0, 
                        0x0220, 
                        0xF0, 
                        0xF4, 
                        Zero, 
                        Zero
                    }, 

                    Package (0x09)
                    {
                        0x06, 
                        0x07C0, 
                        0x0114, 
                        0xC0, 
                        0x0224, 
                        0xF8, 
                        0xFC, 
                        0x20, 
                        One
                    }, 

                    Package (0x09)
                    {
                        0x1B, 
                        0x08E0, 
                        0x0118, 
                        0xCC, 
                        0x0228, 
                        0x0100, 
                        0x0104, 
                        0x40, 
                        0x02
                    }
                }
            }, 

            Package (0x02)
            {
                0x00D20000, 
                Package (0x03)
                {
                    Package (0x09)
                    {
                        0x14, 
                        0x0600, 
                        0x0110, 
                        0xB0, 
                        0x0220, 
                        0xF0, 
                        0xF4, 
                        0x60, 
                        0x03
                    }, 

                    Package (0x09)
                    {
                        0x07, 
                        0x0740, 
                        0x0114, 
                        0xBC, 
                        0x0224, 
                        0xF8, 
                        0xFC, 
                        0x80, 
                        0x04
                    }, 

                    Package (0x09)
                    {
                        0x18, 
                        0x0760, 
                        0x0118, 
                        0xC0, 
                        0x0228, 
                        0x0100, 
                        0x0104, 
                        0xA0, 
                        0x05
                    }
                }
            }, 

            Package (0x02)
            {
                0x00D30000, 
                Package (0x02)
                {
                    Package (0x09)
                    {
                        0x10, 
                        0x0600, 
                        0x0110, 
                        0xB0, 
                        0x0220, 
                        0xF0, 
                        0xF4, 
                        0xC0, 
                        0x06
                    }, 

                    Package (0x09)
                    {
                        0x02, 
                        0x0700, 
                        0x0114, 
                        0xB8, 
                        0x0224, 
                        0xF8, 
                        0xFC, 
                        0xE0, 
                        0x07
                    }
                }
            }
        })
    }

    Scope (_SB)
    {
        Method (GDSC, 0, NotSerialized)
        {
            If ((PCHS == 0x04))
            {
                Return (GPCS) /* \_SB_.GPCS */
            }
            Else
            {
                Return (GPCM) /* \_SB_.GPCM */
            }
        }

        Method (GMXG, 0, NotSerialized)
        {
            If ((PCHS == 0x04))
            {
                Return (0x08)
            }
            Else
            {
                Return (0x0E)
            }
        }

        Method (GCMP, 1, NotSerialized)
        {
            Local0 = GDSC ()
            Return (DerefOf (DerefOf (Local0 [Arg0]) [Zero]))
        }

        Method (GINF, 3, NotSerialized)
        {
            Local0 = GDSC ()
            Return (DerefOf (DerefOf (DerefOf (DerefOf (Local0 [Arg0]) [
                One]) [Arg1]) [Arg2]))
        }

        Method (GCOM, 1, Serialized)
        {
            Local0 = ((Arg0 >> 0x0A) & 0x07)
            Return (Local0)
        }

        Method (GGRP, 1, Serialized)
        {
            Local0 = ((Arg0 >> 0x07) & 0x07)
            Return (Local0)
        }

        Method (GNMB, 1, Serialized)
        {
            Return ((Arg0 & 0x7F))
        }

        Method (GADR, 2, NotSerialized)
        {
            Local2 = GGRP (Arg0)
            Local3 = GCOM (Arg0)
            Local0 = (GCMP (Local3) + SBRG)
            Local1 = GINF (Local3, Local2, Arg1)
            Return ((Local0 + Local1))
        }

        Method (GNUM, 1, NotSerialized)
        {
            Local0 = GNMB (Arg0)
            Local1 = GGRP (Arg0)
            Local2 = GCOM (Arg0)
            Return ((GINF (Local2, Local1, 0x07) + Local0))
        }

        Method (GGGP, 1, NotSerialized)
        {
            Local0 = GGRP (Arg0)
            Local1 = GCOM (Arg0)
            Return (GINF (Local1, Local0, 0x08))
        }

        Method (INUM, 1, NotSerialized)
        {
            Return ((GPC1 (Arg0) & 0x7F))
        }

        Method (GGPE, 1, NotSerialized)
        {
            Local0 = GGGP (Arg0)
            Local1 = GNMB (Arg0)
            Local2 = (Local1 >> 0x05)
            If (!((((GEI0 == Local0) && (GED0 == Local2)) | (
                (GEI1 == Local0) && (GED1 == Local2))) | ((GEI2 == Local0) && (GED2 == 
                Local2))))
            {
                Return (0x6F)
            }
            Else
            {
                If (((GEI0 == Local0) && (GED0 == Local2)))
                {
                    Local3 = Zero
                }
                ElseIf (((GEI1 == Local0) && (GED1 == Local2)))
                {
                    Local3 = One
                }
                ElseIf (((GEI2 == Local0) && (GED2 == Local2)))
                {
                    Local3 = 0x02
                }
                Else
                {
                    BreakPoint
                    Return (Zero)
                }

                Return ((((Local3 - Local2) * 0x20) + Local1))
            }
        }

        Method (GPC0, 1, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            Return (TEMP) /* \_SB_.GPC0.TEMP */
        }

        Method (SPC0, 2, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            TEMP = Arg1
        }

        Method (GPC1, 1, Serialized)
        {
            Local2 = ((GADR (Arg0, One) + (GNMB (Arg0) * 0x10)
                ) + 0x04)
            OperationRegion (PDW1, SystemMemory, Local2, 0x04)
            Field (PDW1, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            Return (TEMP) /* \_SB_.GPC1.TEMP */
        }

        Method (SPC1, 2, Serialized)
        {
            Local2 = ((GADR (Arg0, One) + (GNMB (Arg0) * 0x10)
                ) + 0x04)
            OperationRegion (PDW1, SystemMemory, Local2, 0x04)
            Field (PDW1, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            TEMP = Arg1
        }

        Method (SRXO, 2, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   28, 
                TEMP,   1, 
                Offset (0x04)
            }

            TEMP = Arg1
        }

        Method (GGIV, 1, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   1, 
                TEMP,   1, 
                Offset (0x04)
            }

            Return (TEMP) /* \_SB_.GGIV.TEMP */
        }

        Method (GGOV, 1, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                TEMP,   1, 
                Offset (0x04)
            }

            Return (TEMP) /* \_SB_.GGOV.TEMP */
        }

        Method (SGOV, 2, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                TEMP,   1, 
                Offset (0x04)
            }

            TEMP = Arg1
        }

        Method (GGII, 1, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   23, 
                TEMP,   1, 
                Offset (0x04)
            }

            Return (TEMP) /* \_SB_.GGII.TEMP */
        }

        Method (SGII, 2, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   23, 
                TEMP,   1, 
                Offset (0x04)
            }

            TEMP = Arg1
        }

        Method (GPMV, 1, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   10, 
                TEMP,   3, 
                Offset (0x04)
            }

            Return (TEMP) /* \_SB_.GPMV.TEMP */
        }

        Method (SPMV, 2, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   10, 
                TEMP,   3, 
                Offset (0x04)
            }

            TEMP = Arg1
        }

        Method (GHPO, 1, Serialized)
        {
            Local1 = GNMB (Arg0)
            Local3 = (GADR (Arg0, 0x02) + ((Local1 >> 0x05) * 0x04))
            Local4 = (Local1 & 0x1F)
            OperationRegion (PREG, SystemMemory, Local3, 0x04)
            Field (PREG, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            Return (((TEMP >> Local4) & One))
        }

        Method (SHPO, 2, Serialized)
        {
            Local1 = GNMB (Arg0)
            ADBG ("Pad number")
            ADBG (ToHexString (Local1))
            Local3 = (GADR (Arg0, 0x02) + ((Local1 >> 0x05) * 0x04))
            ADBG ("HOST owner offset")
            ADBG (ToHexString (Local3))
            Local4 = (Local1 & 0x1F)
            ADBG ("Pad position")
            ADBG (ToHexString (Local4))
            OperationRegion (PREG, SystemMemory, Local3, 0x04)
            Field (PREG, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            ADBG ("HOST own before")
            ADBG (ToHexString (TEMP))
            If (Arg1)
            {
                TEMP |= (One << Local4)
            }
            Else
            {
                TEMP &= ~(One << Local4)
            }

            ADBG ("HOST own after")
            ADBG (ToHexString (TEMP))
        }

        Method (GGPO, 1, Serialized)
        {
            Local1 = GNMB (Arg0)
            Local2 = (GADR (Arg0, 0x03) + ((Local1 >> 0x03) * 0x04
                ))
            OperationRegion (PREG, SystemMemory, Local2, 0x04)
            Field (PREG, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            Return (((TEMP >> ((Local1 & 0x07) * 0x04)) & 
                0x03))
        }

        Method (SGRA, 2, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   20, 
                TEMP,   1, 
                Offset (0x04)
            }

            TEMP = Arg1
        }

        Method (SGWP, 2, Serialized)
        {
            Local2 = ((GADR (Arg0, One) + (GNMB (Arg0) * 0x10)
                ) + 0x04)
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   10, 
                TEMP,   4, 
                Offset (0x04)
            }

            TEMP = Arg1
        }

        Method (CGPI, 1, Serialized)
        {
            Local1 = GNMB (Arg0)
            ADBG ("Pad number")
            ADBG (ToHexString (Local1))
            Local4 = (Local1 >> 0x05)
            ADBG ("Group DW")
            ADBG (ToHexString (Local4))
            Local3 = GADR (Arg0, 0x04)
            ADBG ("Reg offset")
            ADBG (ToHexString (Local3))
            If (((Local3 & 0xFFFF) != 0xFFFF))
            {
                ADBG ("Clearing GPI")
                OperationRegion (GPPX, SystemMemory, (Local3 + (Local4 * 0x04)), 0x04)
                Field (GPPX, AnyAcc, NoLock, Preserve)
                {
                    STSX,   32
                }

                Local2 = (One << (Local1 % 0x20))
                ADBG ("STSX before")
                ADBG (ToHexString (STSX))
                STSX = Local2
                ADBG ("STSX after")
                ADBG (ToHexString (STSX))
            }
        }

        Method (CAGS, 1, Serialized)
        {
            Local0 = GGGP (Arg0)
            Local1 = GNMB (Arg0)
            Local4 = (Local1 >> 0x05)
            If (!((((GEI0 == Local0) && (GED0 == Local4)) | (
                (GEI1 == Local0) && (GED1 == Local4))) | ((GEI2 == Local0) && (GED2 == 
                Local4))))
            {
                Local3 = GADR (Arg0, 0x04)
                If (((Local3 & 0xFFFF) != 0xFFFF))
                {
                    OperationRegion (GPPX, SystemMemory, (Local3 + (Local4 * 0x04)), 0x04)
                    Field (GPPX, AnyAcc, NoLock, Preserve)
                    {
                        STSX,   32
                    }

                    Local2 = (One << (Local1 % 0x20))
                    STSX = Local2
                }
            }
        }

        Method (IGPI, 1, Serialized)
        {
            Local1 = GNMB (Arg0)
            Local4 = (Local1 >> 0x05)
            If (((GADR (Arg0, 0x04) & 0xFFFF) == 0xFFFF))
            {
                Return (Zero)
            }

            Local2 = (GADR (Arg0, 0x04) + (Local4 * 0x04))
            Local3 = (Local1 & 0x1F)
            OperationRegion (GPPX, SystemMemory, Local2, 0x24)
            Field (GPPX, AnyAcc, NoLock, Preserve)
            {
                STSX,   32, 
                Offset (0x20), 
                GENX,   32
            }

            Return ((((STSX & GENX) >> Local3) & One))
        }

        Method (ISME, 1, Serialized)
        {
            Local0 = GGGP (Arg0)
            Local1 = GNMB (Arg0)
            Local4 = (Local1 >> 0x05)
            If (!!((((GEI0 == Local0) && (GED0 == Local4)) | 
                ((GEI1 == Local0) && (GED1 == Local4))) | ((GEI2 == Local0) && (
                GED2 == Local4))))
            {
                Return (Zero)
            }

            If (((GADR (Arg0, 0x04) & 0xFFFF) == 0xFFFF))
            {
                Return (Zero)
            }

            Local2 = (GADR (Arg0, 0x04) + (Local4 * 0x04))
            Local3 = (Local1 & 0x1F)
            OperationRegion (GPPX, SystemMemory, Local2, 0x24)
            Field (GPPX, AnyAcc, NoLock, Preserve)
            {
                STSX,   32, 
                Offset (0x20), 
                GENX,   32
            }

            Return ((((STSX & GENX) >> Local3) & One))
        }

        Method (GRXE, 2, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   25, 
                RCFG,   2, 
                Offset (0x04)
            }

            RCFG = Arg1
        }

        Method (GLOC, 2, Serialized)
        {
            Local1 = GNMB (Arg0)
            Local2 = GADR (Arg0, 0x05)
            OperationRegion (PREG, SystemMemory, Local2, 0x04)
            Field (PREG, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            Return (((TEMP >> Local1) & One))
        }

        Method (GLOT, 2, Serialized)
        {
            Local1 = GNMB (Arg0)
            Local2 = GADR (Arg0, 0x06)
            OperationRegion (PREG, SystemMemory, Local2, 0x04)
            Field (PREG, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            Return (((TEMP >> Local1) & One))
        }
    }

    Scope (_SB.PC00)
    {
        Device (SBSC)
        {
            Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
            Name (_UID, "SOCP2SB")  // _UID: Unique ID
            Name (_STA, 0x08)  // _STA: Status
            Name (SBRG, Zero)
            SBRG = \SBRG
            Method (PCRR, 2, Serialized)
            {
                Local1 = (Arg1 & 0xFFFF)
                Local2 = ((Arg1 & 0x000F0000) << 0x08)
                Local0 = ((Arg0 << 0x10) + Local1)
                Local0 = ((Local2 + Local0) + SBRG) /* \_SB_.PC00.SBSC.SBRG */
                OperationRegion (PCR0, SystemMemory, Local0, 0x04)
                Field (PCR0, DWordAcc, Lock, Preserve)
                {
                    DAT0,   32
                }

                Return (DAT0) /* \_SB_.PC00.SBSC.PCRR.DAT0 */
            }

            Method (PCRW, 3, Serialized)
            {
                Local1 = (Arg1 & 0xFFFF)
                Local2 = ((Arg1 & 0x000F0000) << 0x08)
                Local0 = ((Arg0 << 0x10) + Local1)
                Local0 = ((Local2 + Local0) + SBRG) /* \_SB_.PC00.SBSC.SBRG */
                OperationRegion (PCR0, SystemMemory, Local0, 0x04)
                Field (PCR0, DWordAcc, Lock, Preserve)
                {
                    DAT0,   32
                }

                DAT0 = Arg2
            }

            Method (PCRO, 3, Serialized)
            {
                Local0 = PCRR (Arg0, Arg1)
                Local1 = (Local0 | Arg2)
                PCRW (Arg0, Arg1, Local1)
            }

            Method (PCRA, 3, Serialized)
            {
                Local0 = PCRR (Arg0, Arg1)
                Local1 = (Local0 & Arg2)
                PCRW (Arg0, Arg1, Local1)
            }

            Method (PCAO, 4, Serialized)
            {
                Local0 = PCRR (Arg0, Arg1)
                Local1 = ((Local0 & Arg2) | Arg3)
                PCRW (Arg0, Arg1, Local1)
            }
        }

        Device (SBIE)
        {
            Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
            Name (_UID, "IOEP2SB")  // _UID: Unique ID
            Name (_STA, 0x08)  // _STA: Status
            Name (SBRG, 0x000003FFF0000000)
            Method (PCRR, 2, Serialized)
            {
                Local1 = (Arg1 & 0xFFFF)
                Local2 = ((Arg1 & 0x000F0000) << 0x08)
                Local0 = ((Arg0 << 0x10) + Local1)
                Local0 = ((Local2 + Local0) + SBRG) /* \_SB_.PC00.SBIE.SBRG */
                OperationRegion (PCR0, SystemMemory, Local0, 0x04)
                Field (PCR0, DWordAcc, Lock, Preserve)
                {
                    DAT0,   32
                }

                Return (DAT0) /* \_SB_.PC00.SBIE.PCRR.DAT0 */
            }

            Method (PCRW, 3, Serialized)
            {
                Local1 = (Arg1 & 0xFFFF)
                Local2 = ((Arg1 & 0x000F0000) << 0x08)
                Local0 = ((Arg0 << 0x10) + Local1)
                Local0 = ((Local2 + Local0) + SBRG) /* \_SB_.PC00.SBIE.SBRG */
                OperationRegion (PCR0, SystemMemory, Local0, 0x04)
                Field (PCR0, DWordAcc, Lock, Preserve)
                {
                    DAT0,   32
                }

                DAT0 = Arg2
            }

            Method (PCRO, 3, Serialized)
            {
                Local0 = PCRR (Arg0, Arg1)
                Local1 = (Local0 | Arg2)
                PCRW (Arg0, Arg1, Local1)
            }

            Method (PCRA, 3, Serialized)
            {
                Local0 = PCRR (Arg0, Arg1)
                Local1 = (Local0 & Arg2)
                PCRW (Arg0, Arg1, Local1)
            }

            Method (PCAO, 4, Serialized)
            {
                Local0 = PCRR (Arg0, Arg1)
                Local1 = ((Local0 & Arg2) | Arg3)
                PCRW (Arg0, Arg1, Local1)
            }
        }
    }

    Scope (\)
    {
        Method (PCRR, 2, Serialized)
        {
            Local1 = (Arg1 & 0xFFFF)
            Local2 = ((Arg1 & 0x000F0000) << 0x08)
            Local0 = ((Arg0 << 0x10) + Local1)
            Local0 = ((Local2 + Local0) + SBRG) /* \SBRG */
            OperationRegion (PCR0, SystemMemory, Local0, 0x04)
            Field (PCR0, DWordAcc, Lock, Preserve)
            {
                DAT0,   32
            }

            Return (DAT0) /* \PCRR.DAT0 */
        }

        Method (PCRW, 3, Serialized)
        {
            Local1 = (Arg1 & 0xFFFF)
            Local2 = ((Arg1 & 0x000F0000) << 0x08)
            Local0 = ((Arg0 << 0x10) + Local1)
            Local0 = ((Local2 + Local0) + SBRG) /* \SBRG */
            OperationRegion (PCR0, SystemMemory, Local0, 0x04)
            Field (PCR0, DWordAcc, Lock, Preserve)
            {
                DAT0,   32
            }

            DAT0 = Arg2
        }

        Method (PCRO, 3, Serialized)
        {
            Local0 = PCRR (Arg0, Arg1)
            Local1 = (Local0 | Arg2)
            PCRW (Arg0, Arg1, Local1)
        }

        Method (PCRA, 3, Serialized)
        {
            Local0 = PCRR (Arg0, Arg1)
            Local1 = (Local0 & Arg2)
            PCRW (Arg0, Arg1, Local1)
        }

        Method (PCAO, 4, Serialized)
        {
            Local0 = PCRR (Arg0, Arg1)
            Local1 = ((Local0 & Arg2) | Arg3)
            PCRW (Arg0, Arg1, Local1)
        }
    }

    If ((PCHA != Zero))
    {
        Name (MNVB, 0xFFFF0000)
        Name (MNVL, 0xAA55)
        Scope (_SB.PC02)
        {
            OperationRegion (MTNV, SystemMemory, MNVB, MNVL)
            Field (MTNV, AnyAcc, Lock, Preserve)
            {
                PWRM,   32, 
                ABAS,   16, 
                SBRG,   64, 
                PU2C,   8, 
                PU3C,   8, 
                GBES,   8, 
                NHAA,   64, 
                NHLL,   32, 
                ADFM,   32, 
                SWQ0,   8, 
                SWQ1,   8, 
                SWQ2,   8, 
                SWQ3,   8, 
                ACS0,   8, 
                ACS1,   8, 
                ACS2,   8, 
                ACS3,   8, 
                DAI0,   8, 
                DAI1,   8, 
                DAI2,   8, 
                DAI3,   8, 
                DOD0,   8, 
                DOD1,   8, 
                DOD2,   8, 
                DOD3,   8, 
                HDBO,   16, 
                SWMC,   8, 
                XTAL,   32, 
                RPA1,   32, 
                RPA2,   32, 
                RPA3,   32, 
                RPA4,   32, 
                RPA5,   32, 
                RPA6,   32, 
                RPA7,   32, 
                RPA8,   32, 
                RPA9,   32, 
                RPAA,   32, 
                RPAB,   32, 
                RPAC,   32, 
                RPAD,   32, 
                RPAE,   32, 
                RPAF,   32, 
                RPAG,   32, 
                RPAH,   32, 
                RPAI,   32, 
                RPAJ,   32, 
                RPAK,   32, 
                RPAL,   32, 
                RPAM,   32, 
                RPAN,   32, 
                RPAO,   32, 
                PML1,   16, 
                PML2,   16, 
                PML3,   16, 
                PML4,   16, 
                PML5,   16, 
                PML6,   16, 
                PML7,   16, 
                PML8,   16, 
                PML9,   16, 
                PMLA,   16, 
                PMLB,   16, 
                PMLC,   16, 
                PMLD,   16, 
                PMLE,   16, 
                PMLF,   16, 
                PMLG,   16, 
                PMLH,   16, 
                PMLI,   16, 
                PMLJ,   16, 
                PMLK,   16, 
                PMLL,   16, 
                PMLM,   16, 
                PMLN,   16, 
                PMLO,   16, 
                PNL1,   16, 
                PNL2,   16, 
                PNL3,   16, 
                PNL4,   16, 
                PNL5,   16, 
                PNL6,   16, 
                PNL7,   16, 
                PNL8,   16, 
                PNL9,   16, 
                PNLA,   16, 
                PNLB,   16, 
                PNLC,   16, 
                PNLD,   16, 
                PNLE,   16, 
                PNLF,   16, 
                PNLG,   16, 
                PNLH,   16, 
                PNLI,   16, 
                PNLJ,   16, 
                PNLK,   16, 
                PNLL,   16, 
                PNLM,   16, 
                PNLN,   16, 
                PNLO,   16, 
                TIN0,   32, 
                TIN1,   32, 
                TMD0,   16, 
                TMD1,   16, 
                UF0E,   8, 
                UF1E,   8, 
                UAOE,   8, 
                T010,   32, 
                T011,   32, 
                T020,   8, 
                T021,   8, 
                T030,   32, 
                T031,   32, 
                T040,   32, 
                T041,   32, 
                T050,   32, 
                T051,   32, 
                T060,   32, 
                T061,   32, 
                T070,   32, 
                T071,   32, 
                T080,   32, 
                T081,   32, 
                T090,   32, 
                T091,   32, 
                T0A0,   32, 
                T0A1,   32, 
                T0B0,   32, 
                T0B1,   32, 
                T0C0,   32, 
                T0C1,   32, 
                T0D0,   32, 
                T0D1,   32, 
                T0E0,   32, 
                T0E1,   32, 
                T0F0,   32, 
                T0F1,   32, 
                SM00,   8, 
                SM01,   8, 
                SM02,   8, 
                SM03,   8, 
                SC00,   64, 
                SC01,   64, 
                SC02,   64, 
                SC03,   64, 
                IM00,   8, 
                IM01,   8, 
                IM02,   8, 
                IM03,   8, 
                IM04,   8, 
                IM05,   8, 
                IC00,   64, 
                IC01,   64, 
                IC02,   64, 
                IC03,   64, 
                IC04,   64, 
                IC05,   64, 
                UM00,   8, 
                UM01,   8, 
                UM02,   8, 
                UM03,   8, 
                UC00,   64, 
                UC01,   64, 
                UC02,   64, 
                UC03,   64, 
                UD00,   8, 
                UD01,   8, 
                UD02,   8, 
                UD03,   8, 
                UP00,   8, 
                UP01,   8, 
                UP02,   8, 
                UP03,   8, 
                UI00,   8, 
                UI01,   8, 
                UI02,   8, 
                UI03,   8, 
                PCNV,   16, 
                GEI0,   8, 
                GEI1,   8, 
                GEI2,   8, 
                GED0,   8, 
                GED1,   8, 
                GED2,   8, 
                SML0,   8, 
                SML1,   8, 
                SML2,   8, 
                SML3,   8
            }

            Device (SBPC)
            {
                Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
                Name (_UID, "PCHP2SB")  // _UID: Unique ID
                Name (_STA, 0x08)  // _STA: Status
                Name (SBRG, Zero)
                SBRG = ^SBRG /* \_SB_.PC02.SBRG */
                Method (PCRR, 2, Serialized)
                {
                    Local1 = (Arg1 & 0xFFFF)
                    Local2 = ((Arg1 & 0x000F0000) << 0x08)
                    Local0 = ((Arg0 << 0x10) + Local1)
                    Local0 = ((Local2 + Local0) + SBRG) /* \_SB_.PC02.SBPC.SBRG */
                    OperationRegion (PCR0, SystemMemory, Local0, 0x04)
                    Field (PCR0, DWordAcc, Lock, Preserve)
                    {
                        DAT0,   32
                    }

                    Return (DAT0) /* \_SB_.PC02.SBPC.PCRR.DAT0 */
                }

                Method (PCRW, 3, Serialized)
                {
                    Local1 = (Arg1 & 0xFFFF)
                    Local2 = ((Arg1 & 0x000F0000) << 0x08)
                    Local0 = ((Arg0 << 0x10) + Local1)
                    Local0 = ((Local2 + Local0) + SBRG) /* \_SB_.PC02.SBPC.SBRG */
                    OperationRegion (PCR0, SystemMemory, Local0, 0x04)
                    Field (PCR0, DWordAcc, Lock, Preserve)
                    {
                        DAT0,   32
                    }

                    DAT0 = Arg2
                }

                Method (PCRO, 3, Serialized)
                {
                    Local0 = PCRR (Arg0, Arg1)
                    Local1 = (Local0 | Arg2)
                    PCRW (Arg0, Arg1, Local1)
                }

                Method (PCRA, 3, Serialized)
                {
                    Local0 = PCRR (Arg0, Arg1)
                    Local1 = (Local0 & Arg2)
                    PCRW (Arg0, Arg1, Local1)
                }

                Method (PCAO, 4, Serialized)
                {
                    Local0 = PCRR (Arg0, Arg1)
                    Local1 = ((Local0 & Arg2) | Arg3)
                    PCRW (Arg0, Arg1, Local1)
                }
            }

            Device (PPMC)
            {
                Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
                Name (_UID, "MTPPMC")  // _UID: Unique ID
                Name (_STA, 0x08)  // _STA: Status
                Method (IPCS, 7, Serialized)
                {
                    Name (RPKG, Package (0x05)
                    {
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    })
                    ADBG ("PMC IPC")
                    ADBG (Concatenate ("Command: ", ToHexString (Arg0)))
                    ADBG (Concatenate ("SubCmdId: ", ToHexString (Arg1)))
                    ADBG (Concatenate ("Size: ", ToHexString (Arg2)))
                    ADBG (Concatenate ("WBuff0: ", ToHexString (Arg3)))
                    ADBG (Concatenate ("WBuff1: ", ToHexString (Arg4)))
                    ADBG (Concatenate ("WBuff2: ", ToHexString (Arg5)))
                    ADBG (Concatenate ("WBuff3: ", ToHexString (Arg6)))
                    If ((Arg2 > 0x10))
                    {
                        ADBG ("CmdSize>16 Error")
                        RPKG [Zero] = One
                        Return (RPKG) /* \_SB_.PC02.PPMC.IPCS.RPKG */
                    }

                    IWB0 = Arg3
                    IWB1 = Arg4
                    IWB2 = Arg5
                    IWB3 = Arg6
                    Local0 = Zero
                    Local0 += (Arg0 << Zero)
                    Local0 += (Arg1 << 0x0C)
                    Local0 += (Arg2 << 0x10)
                    CMDR = Local0
                    Local0 = Zero
                    While (One)
                    {
                        If ((!IBSY || (IERR == One)))
                        {
                            Break
                        }

                        If ((Local0 > 0x0A))
                        {
                            ADBG ("IPC Busy TO")
                            RPKG [Zero] = 0x03
                            Return (RPKG) /* \_SB_.PC02.PPMC.IPCS.RPKG */
                        }

                        Sleep (One)
                        Local0++
                    }

                    If ((IERR == One))
                    {
                        ADBG ("IPC Error:")
                        ADBG (IERC)
                        ADBG (Arg0)
                        ADBG (Arg1)
                        ADBG (Arg2)
                        ADBG (Arg3)
                        ADBG (Arg4)
                        ADBG (Arg5)
                        ADBG (Arg6)
                        RPKG [Zero] = 0x02
                        Return (RPKG) /* \_SB_.PC02.PPMC.IPCS.RPKG */
                    }

                    RPKG [One] = IRB0 /* \_SB_.PC02.PPMC.IRB0 */
                    RPKG [0x02] = IRB1 /* \_SB_.PC02.PPMC.IRB1 */
                    RPKG [0x03] = IRB2 /* \_SB_.PC02.PPMC.IRB2 */
                    RPKG [0x04] = IRB3 /* \_SB_.PC02.PPMC.IRB3 */
                    Return (RPKG) /* \_SB_.PC02.PPMC.IPCS.RPKG */
                }

                Method (ULTR, 1, Serialized)
                {
                    LTRU = Arg0
                }

                OperationRegion (PWMR, SystemMemory, PWRM, 0x1E30)
                Field (PWMR, DWordAcc, NoLock, Preserve)
                {
                    CMDR,   32, 
                    IBSY,   1, 
                    IERR,   1, 
                        ,   1, 
                        ,   1, 
                    Offset (0x05), 
                    Offset (0x06), 
                    IERC,   8, 
                    Offset (0x08), 
                    Offset (0x80), 
                    IWB0,   32, 
                    IWB1,   32, 
                    IWB2,   32, 
                    IWB3,   32, 
                    IRB0,   32, 
                    IRB1,   32, 
                    IRB2,   32, 
                    IRB3,   32, 
                    Offset (0x10D0), 
                    RAA0,   1, 
                    RAA1,   1, 
                    RAA2,   1, 
                    RAA3,   1, 
                    RPB0,   1, 
                    RPB1,   1, 
                    RPB2,   1, 
                    RPB3,   1, 
                    RPC0,   1, 
                    RPC1,   1, 
                    RPC2,   1, 
                    RPC3,   1, 
                    RSAT,   1, 
                    RGBE,   1, 
                    RXHC,   1, 
                    RXDC,   1, 
                    RUFS,   1, 
                    RPD0,   1, 
                    RPD1,   1, 
                    RPD2,   1, 
                    RPD3,   1, 
                    RPE0,   1, 
                    RPE1,   1, 
                    RPE2,   1, 
                    RPE3,   1, 
                    Offset (0x10D4), 
                    APA0,   1, 
                    APA1,   1, 
                    APA2,   1, 
                    APA3,   1, 
                    APB0,   1, 
                    APB1,   1, 
                    APB2,   1, 
                    APB3,   1, 
                    APC0,   1, 
                    APC1,   1, 
                    APC2,   1, 
                    APC3,   1, 
                    ASAT,   1, 
                    AGBE,   1, 
                    AXHC,   1, 
                    AXDC,   1, 
                    AUFS,   1, 
                    APD0,   1, 
                    APD1,   1, 
                    APD2,   1, 
                    APD3,   1, 
                    APE0,   1, 
                    APE1,   1, 
                    APE2,   1, 
                    APE3,   1, 
                    Offset (0x1800), 
                    ACWA,   32, 
                    DCWA,   32, 
                    ACET,   32, 
                    DCET,   32, 
                    Offset (0x18E8), 
                        ,   29, 
                    APG3,   1, 
                        ,   1, 
                    CECE,   1, 
                    Offset (0x1B0C), 
                        ,   2, 
                    ISAT,   1, 
                        ,   18, 
                    LTRU,   1, 
                    Offset (0x1B1C), 
                        ,   22, 
                    XSQD,   1, 
                    Offset (0x1BD0), 
                        ,   31, 
                    CPPM,   1, 
                    Offset (0x1E20), 
                    GBED,   1, 
                    Offset (0x1E28), 
                        ,   22, 
                    SCFD,   1
                }

                Method (PG3C, 1, Serialized)
                {
                    If (Arg0)
                    {
                        ADBG ("PG3 Enable")
                        APG3 = One
                    }
                    Else
                    {
                        ADBG ("PG3 Disable")
                        APG3 = Zero
                    }
                }

                Method (PG3T, 0, NotSerialized)
                {
                    If (APG3)
                    {
                        Return (One)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (PSOC, 1, Serialized)
                {
                    If (PSON)
                    {
                        If (Arg0)
                        {
                            ADBG ("PS_ON Enable")
                            CECE = One
                        }
                        Else
                        {
                            ADBG ("PS_ON Disable")
                            CECE = Zero
                        }
                    }
                }

                Method (PSOS, 0, NotSerialized)
                {
                    If (CECE)
                    {
                        Return (One)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (CFAE, 1, NotSerialized)
                {
                    If (CondRefOf (CPPE))
                    {
                        If ((CPPE == One))
                        {
                            If (DerefOf (Arg0 [Zero]))
                            {
                                ADBG ("CPPM Forced Alignment Disable")
                                CPPM = Zero
                                Return (Buffer (One)
                                {
                                     0x00                                             // .
                                })
                            }
                            Else
                            {
                                ADBG ("CPPM Forced Alignment Enable")
                                CPPM = One
                                Return (Buffer (One)
                                {
                                     0x00                                             // .
                                })
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (SAT0)
            {
                Name (_ADR, 0x00170000)  // _ADR: Address
                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ^^PPMC.ISAT = Zero
                    ADBG (Concatenate ("SATA PS0 LTR ignore bit status = ", ToHexString (^^PPMC.ISAT)))
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ^^PPMC.ISAT = One
                    ADBG (Concatenate ("SATA PS3 LTR ignore bit status = ", ToHexString (^^PPMC.ISAT)))
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
                        {
                            ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "StorageD3Enable", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If ((CondRefOf (SATC) && CondRefOf (SATD)))
                    {
                        If (SATC (Arg0))
                        {
                            Return (SATD (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                {
                    Return (0x03)
                }

                Device (PRT0)
                {
                    Name (_ADR, 0xFFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & One))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT1)
                {
                    Name (_ADR, 0x0001FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x02))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT2)
                {
                    Name (_ADR, 0x0002FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x04))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT3)
                {
                    Name (_ADR, 0x0003FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x08))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT4)
                {
                    Name (_ADR, 0x0004FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x10))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT5)
                {
                    Name (_ADR, 0x0005FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x20))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT6)
                {
                    Name (_ADR, 0x0006FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x40))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT7)
                {
                    Name (_ADR, 0x0007FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x80))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }
            }

            Device (XHCI)
            {
                Name (_ADR, 0x00140000)  // _ADR: Address
                Name (DUWS, Zero)
                Name (PU2C, Zero)
                Name (PU3C, Zero)
                Name (AHWA, One)
                Name (PPID, 0x4F)
                DUWS = \DUWS
                PU2C = ^PU2C /* \_SB_.PC02.PU2C */
                PU3C = ^PU3C /* \_SB_.PC02.PU3C */
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    If (CondRefOf (DUWS))
                    {
                        Return (GPRW (0x6B, DUWS))
                    }
                    Else
                    {
                        Return (GPRW (0x6B, 0x04))
                    }
                }

                OperationRegion (XPRT, PCI_Config, Zero, 0x0100)
                Field (XPRT, AnyAcc, NoLock, Preserve)
                {
                    DVID,   16, 
                    Offset (0x10), 
                    XADR,   64, 
                    Offset (0x74), 
                    Offset (0x75), 
                    PMEE,   1, 
                    Offset (0x76), 
                    Offset (0xA2), 
                        ,   2, 
                    D3HE,   1
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    ADBG ("XHCI _DSM")
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If ((Arg0 == ToUUID ("203b203b-1f13-409a-9aae-1a0347525584") /* Unknown UUID */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Case (One)
                            {
                                If (CondRefOf (AHWA))
                                {
                                    Return ((AHWA && One))
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
                {
                    Return (0x03)
                }

                Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
                {
                    Return (0x03)
                }

                Method (_S3W, 0, NotSerialized)  // _S3W: S3 Device Wake State
                {
                    Return (0x03)
                }

                Method (_S4W, 0, NotSerialized)  // _S4W: S4 Device Wake State
                {
                    Return (0x03)
                }

                Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                {
                    Return (0x03)
                }

                Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                {
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If (CondRefOf (^RHUB.INIR))
                    {
                        ^RHUB.INIR ()
                    }
                }

                Method (USRA, 1, Serialized)
                {
                    Return ((PU2C + Arg0))
                }

                Method (SSPA, 1, Serialized)
                {
                    Return ((PU2C + (0x02 + Arg0)))
                }

                Method (UPRU, 3, NotSerialized)
                {
                    ^^SBPC.PCAO (PPID, Arg0, Arg1, Arg2)
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG ("XHCI D0")
                    UPRU (Zero, 0xFFFFFFF7, Zero)
                    If ((DVID == 0xFFFF))
                    {
                        Return (Zero)
                    }

                    If (CondRefOf (PS0X))
                    {
                        PS0X ()
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG ("XHCI D3")
                    UPRU (Zero, 0xFFFFFFFF, 0x08)
                    If ((DVID == 0xFFFF))
                    {
                        Return (Zero)
                    }

                    If (CondRefOf (PS3X))
                    {
                        PS3X ()
                    }
                }

                Method (CUID, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Device (RHUB)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                    {
                        ADBG ("XHCI RHUB PS0")
                        If ((DVID == 0xFFFF))
                        {
                            Return (Zero)
                        }

                        If (CondRefOf (PS0X))
                        {
                            ADBG ("XHCI CSD0")
                            CSD0 (0x16)
                            PS0X ()
                        }
                    }

                    Method (_PS2, 0, Serialized)  // _PS2: Power State 2
                    {
                        ADBG ("XHCI RHUB PS2")
                        If ((DVID == 0xFFFF))
                        {
                            Return (Zero)
                        }

                        If (CondRefOf (PS2X))
                        {
                            PS2X ()
                            ADBG ("XHCI CSD3")
                            CSD3 (0x16)
                        }
                    }

                    Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                    {
                        ADBG ("XHCI RHUB PS3")
                        If ((DVID == 0xFFFF))
                        {
                            Return (Zero)
                        }

                        If (CondRefOf (PS3X))
                        {
                            PS3X ()
                            ADBG ("XHCI CSD3")
                            CSD3 (0x16)
                        }
                    }

                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        ADBG ("XHCI RHUB _DSM")
                        If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
                        {
                            If ((Arg2 == Zero))
                            {
                                ADBG ("XHCI RHUB F0")
                                Return (Buffer (One)
                                {
                                     0x81                                             // .
                                })
                            }

                            If ((Arg2 == 0x07))
                            {
                                ADBG ("XHCI RHUB F7")
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If (CondRefOf (PU2C))
                    {
                        If ((One <= PU2C))
                        {
                            Device (HS01)
                            {
                                Name (_ADR, One)  // _ADR: Address
                            }
                        }

                        If ((0x02 <= PU2C))
                        {
                            Device (HS02)
                            {
                                Name (_ADR, 0x02)  // _ADR: Address
                            }
                        }

                        If ((0x03 <= PU2C))
                        {
                            Device (HS03)
                            {
                                Name (_ADR, 0x03)  // _ADR: Address
                                If ((CondRefOf (VTCM) && (VTCM == One)))
                                {
                                    If (((SXP1 == 0x03) || (SXP2 == 0x03)))
                                    {
                                        Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                                        {
                                            0xFF, 
                                            0xFF, 
                                            Zero, 
                                            Zero
                                        })
                                        Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                        {
                                            ToPLD (
                                                PLD_Revision           = 0x2,
                                                PLD_IgnoreColor        = 0x1,
                                                PLD_Red                = 0x0,
                                                PLD_Green              = 0x0,
                                                PLD_Blue               = 0x0,
                                                PLD_Width              = 0x0,
                                                PLD_Height             = 0x0,
                                                PLD_UserVisible        = 0x0,
                                                PLD_Dock               = 0x0,
                                                PLD_Lid                = 0x0,
                                                PLD_Panel              = "TOP",
                                                PLD_VerticalPosition   = "UPPER",
                                                PLD_HorizontalPosition = "LEFT",
                                                PLD_Shape              = "ROUND",
                                                PLD_GroupOrientation   = 0x0,
                                                PLD_GroupToken         = 0x1,
                                                PLD_GroupPosition      = 0x1,
                                                PLD_Bay                = 0x0,
                                                PLD_Ejectable          = 0x0,
                                                PLD_EjectRequired      = 0x0,
                                                PLD_CabinetNumber      = 0x0,
                                                PLD_CardCageNumber     = 0x0,
                                                PLD_Reference          = 0x0,
                                                PLD_Rotation           = 0x0,
                                                PLD_Order              = 0x0,
                                                PLD_VerticalOffset     = 0xFFFF,
                                                PLD_HorizontalOffset   = 0xFFFF)

                                        })
                                        Device (CIR)
                                        {
                                            Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                            {
                                                Return ((0x03 + SXI1))
                                            }

                                            Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                            {
                                                ToPLD (
                                                    PLD_Revision           = 0x2,
                                                    PLD_IgnoreColor        = 0x1,
                                                    PLD_Red                = 0x0,
                                                    PLD_Green              = 0x0,
                                                    PLD_Blue               = 0x0,
                                                    PLD_Width              = 0x0,
                                                    PLD_Height             = 0x0,
                                                    PLD_UserVisible        = 0x0,
                                                    PLD_Dock               = 0x0,
                                                    PLD_Lid                = 0x1,
                                                    PLD_Panel              = "FRONT",
                                                    PLD_VerticalPosition   = "UPPER",
                                                    PLD_HorizontalPosition = "CENTER",
                                                    PLD_Shape              = "ROUND",
                                                    PLD_GroupOrientation   = 0x0,
                                                    PLD_GroupToken         = 0x0,
                                                    PLD_GroupPosition      = 0x0,
                                                    PLD_Bay                = 0x0,
                                                    PLD_Ejectable          = 0x0,
                                                    PLD_EjectRequired      = 0x0,
                                                    PLD_CabinetNumber      = 0x0,
                                                    PLD_CardCageNumber     = 0x0,
                                                    PLD_Reference          = 0x0,
                                                    PLD_Rotation           = 0x0,
                                                    PLD_Order              = 0x0,
                                                    PLD_VerticalOffset     = 0xC8,
                                                    PLD_HorizontalOffset   = 0xA0)

                                            })
                                        }
                                    }
                                }
                            }
                        }

                        If ((0x04 <= PU2C))
                        {
                            Device (HS04)
                            {
                                Name (_ADR, 0x04)  // _ADR: Address
                            }
                        }

                        If ((0x05 <= PU2C))
                        {
                            Device (HS05)
                            {
                                Name (_ADR, 0x05)  // _ADR: Address
                                If ((CondRefOf (VTCM) && (VTCM == One)))
                                {
                                    If (((SXP1 == 0x05) || (SXP2 == 0x05)))
                                    {
                                        Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                                        {
                                            0xFF, 
                                            0xFF, 
                                            Zero, 
                                            Zero
                                        })
                                        Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                        {
                                            ToPLD (
                                                PLD_Revision           = 0x2,
                                                PLD_IgnoreColor        = 0x1,
                                                PLD_Red                = 0x0,
                                                PLD_Green              = 0x0,
                                                PLD_Blue               = 0x0,
                                                PLD_Width              = 0x0,
                                                PLD_Height             = 0x0,
                                                PLD_UserVisible        = 0x0,
                                                PLD_Dock               = 0x0,
                                                PLD_Lid                = 0x0,
                                                PLD_Panel              = "TOP",
                                                PLD_VerticalPosition   = "UPPER",
                                                PLD_HorizontalPosition = "LEFT",
                                                PLD_Shape              = "ROUND",
                                                PLD_GroupOrientation   = 0x0,
                                                PLD_GroupToken         = 0x1,
                                                PLD_GroupPosition      = 0x1,
                                                PLD_Bay                = 0x0,
                                                PLD_Ejectable          = 0x0,
                                                PLD_EjectRequired      = 0x0,
                                                PLD_CabinetNumber      = 0x0,
                                                PLD_CardCageNumber     = 0x0,
                                                PLD_Reference          = 0x0,
                                                PLD_Rotation           = 0x0,
                                                PLD_Order              = 0x0,
                                                PLD_VerticalOffset     = 0xFFFF,
                                                PLD_HorizontalOffset   = 0xFFFF)

                                        })
                                        Device (CIR)
                                        {
                                            Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                            {
                                                Return ((0x05 + SXI1))
                                            }

                                            Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                            {
                                                ToPLD (
                                                    PLD_Revision           = 0x2,
                                                    PLD_IgnoreColor        = 0x1,
                                                    PLD_Red                = 0x0,
                                                    PLD_Green              = 0x0,
                                                    PLD_Blue               = 0x0,
                                                    PLD_Width              = 0x0,
                                                    PLD_Height             = 0x0,
                                                    PLD_UserVisible        = 0x0,
                                                    PLD_Dock               = 0x0,
                                                    PLD_Lid                = 0x1,
                                                    PLD_Panel              = "FRONT",
                                                    PLD_VerticalPosition   = "UPPER",
                                                    PLD_HorizontalPosition = "CENTER",
                                                    PLD_Shape              = "ROUND",
                                                    PLD_GroupOrientation   = 0x0,
                                                    PLD_GroupToken         = 0x0,
                                                    PLD_GroupPosition      = 0x0,
                                                    PLD_Bay                = 0x0,
                                                    PLD_Ejectable          = 0x0,
                                                    PLD_EjectRequired      = 0x0,
                                                    PLD_CabinetNumber      = 0x0,
                                                    PLD_CardCageNumber     = 0x0,
                                                    PLD_Reference          = 0x0,
                                                    PLD_Rotation           = 0x0,
                                                    PLD_Order              = 0x0,
                                                    PLD_VerticalOffset     = 0xC8,
                                                    PLD_HorizontalOffset   = 0xA0)

                                            })
                                        }
                                    }
                                }
                            }
                        }

                        If ((0x06 <= PU2C))
                        {
                            Device (HS06)
                            {
                                Name (_ADR, 0x06)  // _ADR: Address
                            }
                        }

                        If ((0x07 <= PU2C))
                        {
                            Device (HS07)
                            {
                                Name (_ADR, 0x07)  // _ADR: Address
                            }
                        }

                        If ((0x08 <= PU2C))
                        {
                            Device (HS08)
                            {
                                Name (_ADR, 0x08)  // _ADR: Address
                                Device (RCAM)
                                {
                                    Name (_ADR, 0x08)  // _ADR: Address
                                    Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                                    {
                                        Name (UPCP, Package (0x04)
                                        {
                                            One, 
                                            0xFF, 
                                            Zero, 
                                            Zero
                                        })
                                        Return (UPCP) /* \_SB_.PC02.XHCI.RHUB.HS08.RCAM._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 */  0x24, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // $.......
                                                /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                                            }
                                        })
                                        Return (PLDP) /* \_SB_.PC02.XHCI.RHUB.HS08.RCAM._PLD.PLDP */
                                    }
                                }
                            }
                        }

                        If ((0x09 <= PU2C))
                        {
                            Device (HS09)
                            {
                                Name (_ADR, 0x09)  // _ADR: Address
                            }
                        }

                        If ((0x0A <= PU2C))
                        {
                            Device (HS10)
                            {
                                Name (_ADR, 0x0A)  // _ADR: Address
                            }
                        }

                        If ((0x0B <= PU2C))
                        {
                            Device (HS11)
                            {
                                Name (_ADR, 0x0B)  // _ADR: Address
                            }
                        }

                        If ((0x0C <= PU2C))
                        {
                            Device (HS12)
                            {
                                Name (_ADR, 0x0C)  // _ADR: Address
                            }
                        }

                        If ((0x0D <= PU2C))
                        {
                            Device (HS13)
                            {
                                Name (_ADR, 0x0D)  // _ADR: Address
                            }
                        }

                        If ((0x0E <= PU2C))
                        {
                            Device (HS14)
                            {
                                Name (_ADR, 0x0E)  // _ADR: Address
                            }
                        }

                        Device (USR1)
                        {
                            Method (_ADR, 0, NotSerialized)  // _ADR: Address
                            {
                                Return (USRA (One))
                            }
                        }

                        Device (USR2)
                        {
                            Method (_ADR, 0, NotSerialized)  // _ADR: Address
                            {
                                Return (USRA (0x02))
                            }
                        }
                    }

                    If (CondRefOf (PU3C))
                    {
                        If ((One <= PU3C))
                        {
                            Device (SS01)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (One))
                                }
                            }
                        }

                        If ((0x02 <= PU3C))
                        {
                            Device (SS02)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x02))
                                }
                            }
                        }

                        If ((0x03 <= PU3C))
                        {
                            Device (SS03)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x03))
                                }
                            }
                        }

                        If ((0x04 <= PU3C))
                        {
                            Device (SS04)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x04))
                                }
                            }
                        }

                        If ((0x05 <= PU3C))
                        {
                            Device (SS05)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x05))
                                }
                            }
                        }

                        If ((0x06 <= PU3C))
                        {
                            Device (SS06)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x06))
                                }
                            }
                        }

                        If ((0x07 <= PU3C))
                        {
                            Device (SS07)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x07))
                                }
                            }
                        }

                        If ((0x08 <= PU3C))
                        {
                            Device (SS08)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x08))
                                }
                            }
                        }

                        If ((0x09 <= PU3C))
                        {
                            Device (SS09)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x09))
                                }
                            }
                        }

                        If ((0x0A <= PU3C))
                        {
                            Device (SS10)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x0A))
                                }
                            }
                        }
                    }
                }
            }

            Device (GLAN)
            {
                Name (_ADR, 0x001F0006)  // _ADR: Address
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (GPRW (0x6B, 0x04))
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                {
                }
            }

            Device (HDAS)
            {
                Name (_ADR, 0x001F0003)  // _ADR: Address
                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG ("HD-A Ctrlr D0")
                    S023 (Zero, One)
                    If (CondRefOf (\_SB.PC02.HDAS.PS0X))
                    {
                        PS0X ()
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG ("HD-A Ctrlr D3")
                    S023 (Zero, Zero)
                    If (CondRefOf (\_SB.PC02.HDAS.PS3X))
                    {
                        PS3X ()
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (GPRW (0x6B, 0x04))
                }

                OperationRegion (HDAR, PCI_Config, Zero, 0x0100)
                Field (HDAR, WordAcc, NoLock, Preserve)
                {
                    VDID,   32
                }

                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                {
                }

                Name (NBU0, ResourceTemplate ()
                {
                    QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
                        0x0000000000000001, // Granularity
                        0x0000000000000000, // Range Minimum
                        0x0000000000000000, // Range Maximum
                        0x0000000000000000, // Translation Offset
                        0x0000000000000000, // Length
                        ,, _Y3B, AddressRangeACPI, TypeStatic)
                })
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    ADBG ("HDAS _INI")
                    CreateQWordField (NBU0, \_SB.PC02.HDAS._Y3B._MIN, NBA0)  // _MIN: Minimum Base Address
                    CreateQWordField (NBU0, \_SB.PC02.HDAS._Y3B._MAX, NMA0)  // _MAX: Maximum Base Address
                    CreateQWordField (NBU0, \_SB.PC02.HDAS._Y3B._LEN, NLE0)  // _LEN: Length
                    NBA0 = NHAA /* \_SB_.PC02.NHAA */
                    NMA0 = (NHAA + (NHLL - One))
                    NLE0 = NHLL /* \_SB_.PC02.NHLL */
                }

                Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
                {
                    ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                    Package (0x01)
                    {
                        Package (0x02)
                        {
                            "nhlt-version", 
                            "1.8-0"
                        }
                    }
                })
                Device (IDA)
                {
                    Name (_ADR, 0x10000000)  // _ADR: Address
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        ADBG ("HDAS _DSM")
                        ADBG (Arg2)
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If ((Arg0 == ToUUID ("a69f886e-6ceb-4594-a41f-7b5dce24c553") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0xCF                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("_DSM Fun 1 NHLT")
                                    Switch (ToInteger (Arg3))
                                    {
                                        Case (Zero)
                                        {
                                            Return (NBU0) /* \_SB_.PC02.HDAS.NBU0 */
                                        }
                                        Default
                                        {
                                            Return (NBU0) /* \_SB_.PC02.HDAS.NBU0 */
                                        }

                                    }
                                }
                                Case (0x02)
                                {
                                    ADBG ("_DSM Fun 2 FMSK")
                                    Return (ADFM) /* \_SB_.PC02.ADFM */
                                }
                                Case (0x03)
                                {
                                    ADBG ("_DSM Fun 3 PPMS")
                                    If (CondRefOf (\_SB.PC02.HDAS.PPMS))
                                    {
                                        Return (PPMS (Arg3))
                                    }
                                    Else
                                    {
                                        ADBG ("PPMS not found")
                                    }

                                    Return (Zero)
                                }
                                Case (0x06)
                                {
                                    ADBG ("_DSM Fun 6 XCFG")
                                    Return (XTAL) /* \_SB_.PC02.XTAL */
                                }
                                Case (0x07)
                                {
                                    ADBG ("_DSM Fun 7 HDBO")
                                    ADBG (HDBO)
                                    Return (HDBO) /* \_SB_.PC02.HDBO */
                                }
                                Default
                                {
                                    ADBG ("_DSM Fun NOK")
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If (CondRefOf (HIWC))
                        {
                            If (HIWC (Arg0))
                            {
                                If (CondRefOf (HIDW))
                                {
                                    Return (HIDW (Arg0, Arg1, Arg2, Arg3))
                                }
                            }
                        }

                        ADBG ("_DSM UUID NOK")
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }
            }

            Scope (HDAS.IDA)
            {
                Device (SNDW)
                {
                    Name (_ADR, 0x40000000)  // _ADR: Address
                    Name (_CID, Package (0x02)  // _CID: Compatible ID
                    {
                        "PRP00001", 
                        "PNP0A05" /* Generic Container Device */
                    })
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        Return (0x0F)
                    }

                    Method (QCFG, 4, NotSerialized)
                    {
                        DerefOf (DerefOf (Arg0 [One]) [Zero]) [One]
                             = Arg1
                        DerefOf (DerefOf (Arg0 [One]) [0x04]) [One]
                             = Arg2
                        DerefOf (DerefOf (Arg0 [One]) [0x05]) [One]
                             = Arg3
                    }

                    Method (XCFG, 2, NotSerialized)
                    {
                        If ((Arg1 == 0x016E3600))
                        {
                            ADBG ("XTAL 24MHz")
                            Local0 = 0x016E3600
                            Local1 = 0x005B8D80
                            Local2 = 0x7D
                            Local3 = 0x02
                        }
                        ElseIf ((Arg1 == 0x0249F000))
                        {
                            ADBG ("XTAL 38.4MHz")
                            Local0 = 0x0249F000
                            Local1 = 0x00493E00
                            Local2 = 0x32
                            Local3 = 0x04
                        }
                        ElseIf ((Arg1 == 0x0124F800))
                        {
                            ADBG ("XTAL 19.2MHz")
                            Local0 = 0x0124F800
                            Local1 = 0x00493E00
                            Local2 = 0x32
                            Local3 = 0x04
                        }
                        Else
                        {
                            ADBG ("XTAL UNSUPPORTED")
                            Local0 = Zero
                            Local1 = Zero
                            Local2 = Zero
                            Local3 = Zero
                        }

                        DerefOf (DerefOf (Arg0 [One]) [One]) [One]
                             = Local0
                        DerefOf (DerefOf (DerefOf (Arg0 [One]) [0x08]
                            ) [One]) [Zero] = Local1
                        DerefOf (DerefOf (Arg0 [One]) [0x0A]) [One]
                             = Local2
                        DerefOf (DerefOf (Arg0 [One]) [0x0B]) [One]
                             = Local3
                    }

                    Method (DCFG, 3, NotSerialized)
                    {
                        DerefOf (DerefOf (Arg0 [One]) [0x02]) [One]
                             = Arg1
                        DerefOf (DerefOf (Arg0 [One]) [0x03]) [One]
                             = Arg2
                    }

                    Method (SDWU, 1, NotSerialized)
                    {
                        DerefOf (DerefOf (_DSD [One]) [0x02]) [One]
                             = Arg0
                    }

                    Method (_INI, 0, NotSerialized)  // _INI: Initialize
                    {
                        ADBG ("SNDW _INI")
                        SDWU (SWMC)
                        QCFG (LNK0, SWQ0, ACS0, SML0)
                        QCFG (LNK1, SWQ1, ACS1, SML1)
                        QCFG (LNK2, SWQ2, ACS2, SML2)
                        QCFG (LNK3, SWQ3, ACS3, SML3)
                        XCFG (LNK0, XTAL)
                        XCFG (LNK1, XTAL)
                        XCFG (LNK2, XTAL)
                        XCFG (LNK3, XTAL)
                        DCFG (LNK0, DAI0, DOD0)
                        DCFG (LNK1, DAI1, DOD0)
                        DCFG (LNK2, DAI2, DOD0)
                        DCFG (LNK3, DAI3, DOD0)
                    }

                    Name (_DSD, Package (0x04)  // _DSD: Device-Specific Data
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x03)
                        {
                            Package (0x02)
                            {
                                "mipi-sdw-sw-interface-revision", 
                                0x00010000
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-manager-list", 
                                0x0F
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-master-count", 
                                0x04
                            }
                        }, 

                        ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */, 
                        Package (0x04)
                        {
                            Package (0x02)
                            {
                                "mipi-sdw-link-0-subproperties", 
                                "LNK0"
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-link-1-subproperties", 
                                "LNK1"
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-link-2-subproperties", 
                                "LNK2"
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-link-3-subproperties", 
                                "LNK3"
                            }
                        }
                    })
                    Name (LNK0, Package (0x02)
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x0E)
                        {
                            Package (0x02)
                            {
                                "intel-quirk-mask", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-ip-clock", 
                                0x0249F000
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-doais", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-dods", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-autonomous-clock-stop", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-lane-mask", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode0-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode1-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-frequencies-supported", 
                                Package (0x01)
                                {
                                    0x00493E00
                                }
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-rate", 
                                0xBB80
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-row-size", 
                                0x32
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-col-size", 
                                0x04
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-dynamic-frame-shape", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-command-error-threshold", 
                                0x10
                            }
                        }
                    })
                    Name (LNK1, Package (0x02)
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x0E)
                        {
                            Package (0x02)
                            {
                                "intel-quirk-mask", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-ip-clock", 
                                0x0249F000
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-doais", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-dods", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-autonomous-clock-stop", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-lane-mask", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode0-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode1-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-frequencies-supported", 
                                Package (0x01)
                                {
                                    0x00493E00
                                }
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-rate", 
                                0xBB80
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-row-size", 
                                0x32
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-col-size", 
                                0x04
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-dynamic-frame-shape", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-command-error-threshold", 
                                0x10
                            }
                        }
                    })
                    Name (LNK2, Package (0x02)
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x0E)
                        {
                            Package (0x02)
                            {
                                "intel-quirk-mask", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-ip-clock", 
                                0x0249F000
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-doais", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-dods", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-autonomous-clock-stop", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-lane-mask", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode0-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode1-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-frequencies-supported", 
                                Package (0x01)
                                {
                                    0x00493E00
                                }
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-rate", 
                                0xBB80
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-row-size", 
                                0x32
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-col-size", 
                                0x04
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-dynamic-frame-shape", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-command-error-threshold", 
                                0x10
                            }
                        }
                    })
                    Name (LNK3, Package (0x02)
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x0E)
                        {
                            Package (0x02)
                            {
                                "intel-quirk-mask", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-ip-clock", 
                                0x0249F000
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-doais", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-dods", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-autonomous-clock-stop", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-lane-mask", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode0-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode1-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-frequencies-supported", 
                                Package (0x01)
                                {
                                    0x00493E00
                                }
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-rate", 
                                0xBB80
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-row-size", 
                                0x32
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-col-size", 
                                0x04
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-dynamic-frame-shape", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-command-error-threshold", 
                                0x10
                            }
                        }
                    })
                }

                If ((UAOE != Zero))
                {
                    Device (UAOL)
                    {
                        Name (_ADR, 0x50000000)  // _ADR: Address
                        Name (_CID, Package (0x02)  // _CID: Compatible ID
                        {
                            "PRP00001", 
                            "PNP0A05" /* Generic Container Device */
                        })
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            Return (0x0B)
                        }

                        Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                        {
                            ADBG ("UAOL _DSM")
                            If ((Arg0 == ToUUID ("2e60aefc-1ba8-467a-b8cc-5727b98cecb7") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x03                                             // .
                                        })
                                    }
                                    Case (One)
                                    {
                                        Return (CFAE (Arg3))
                                    }

                                }
                            }

                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }

                        Name (_DSD, Package (0x04)  // _DSD: Device-Specific Data
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "uaol-ctrl-count", 
                                    0x02
                                }
                            }, 

                            ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */, 
                            Package (0x02)
                            {
                                Package (0x02)
                                {
                                    "uaol-descriptor-0", 
                                    "UAO0"
                                }, 

                                Package (0x02)
                                {
                                    "uaol-descriptor-1", 
                                    "UAO1"
                                }
                            }
                        })
                        Name (UAO0, Package (0x02)
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            Package (0x03)
                            {
                                Package (0x02)
                                {
                                    "uaol-instance-number", 
                                    Zero
                                }, 

                                Package (0x02)
                                {
                                    "bdf-routing-enabled", 
                                    Zero
                                }, 

                                Package (0x02)
                                {
                                    "peer-integrated-controller-identifier", 
                                    0x98ED
                                }
                            }
                        })
                        Name (UAO1, Package (0x02)
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            Package (0x03)
                            {
                                Package (0x02)
                                {
                                    "uaol-instance-number", 
                                    One
                                }, 

                                Package (0x02)
                                {
                                    "bdf-routing-enabled", 
                                    Zero
                                }, 

                                Package (0x02)
                                {
                                    "peer-integrated-controller-identifier", 
                                    0xABCD
                                }
                            }
                        })
                    }
                }
            }

            Device (RP01)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPA1 != Zero))
                    {
                        Return (RPA1) /* \_SB_.PC02.RPA1 */
                    }
                    Else
                    {
                        Return (0x001C0000)
                    }
                }

                Name (SLOT, One)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR1 /* \LTR1 */
                    LMSL = PML1 /* \_SB_.PC02.PML1 */
                    LNSL = PNL1 /* \_SB_.PC02.PNL1 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & One) != Zero)))
                        {
                            ADBG ("PCH RP01 (129/28/0) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP01))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP01.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP01._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP01.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR04) /* \_SB_.AR04 */
                        }
                    }

                    Return (PD04) /* \_SB_.PD04 */
                }
            }

            Device (RP02)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPA2 != Zero))
                    {
                        Return (RPA2) /* \_SB_.PC02.RPA2 */
                    }
                    Else
                    {
                        Return (0x001C0001)
                    }
                }

                Name (SLOT, 0x02)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR2 /* \LTR2 */
                    LMSL = PML2 /* \_SB_.PC02.PML2 */
                    LNSL = PNL2 /* \_SB_.PC02.PNL2 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x02) != Zero)))
                        {
                            ADBG ("PCH RP02 (129/28/1) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP02))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP02.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP02._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP02.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR05) /* \_SB_.AR05 */
                        }
                    }

                    Return (PD05) /* \_SB_.PD05 */
                }
            }

            Device (RP03)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPA3 != Zero))
                    {
                        Return (RPA3) /* \_SB_.PC02.RPA3 */
                    }
                    Else
                    {
                        Return (0x001C0002)
                    }
                }

                Name (SLOT, 0x03)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR3 /* \LTR3 */
                    LMSL = PML3 /* \_SB_.PC02.PML3 */
                    LNSL = PNL3 /* \_SB_.PC02.PNL3 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x04) != Zero)))
                        {
                            ADBG ("PCH RP03 (129/28/2) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP03))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP03.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP03._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP03.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR06) /* \_SB_.AR06 */
                        }
                    }

                    Return (PD06) /* \_SB_.PD06 */
                }
            }

            Device (RP04)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPA4 != Zero))
                    {
                        Return (RPA4) /* \_SB_.PC02.RPA4 */
                    }
                    Else
                    {
                        Return (0x001C0003)
                    }
                }

                Name (SLOT, 0x04)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR4 /* \LTR4 */
                    LMSL = PML4 /* \_SB_.PC02.PML4 */
                    LNSL = PNL4 /* \_SB_.PC02.PNL4 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x08) != Zero)))
                        {
                            ADBG ("PCH RP04 (129/28/3) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP04))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP04.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP04._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP04.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR07) /* \_SB_.AR07 */
                        }
                    }

                    Return (PD07) /* \_SB_.PD07 */
                }
            }

            Device (RP05)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPA5 != Zero))
                    {
                        Return (RPA5) /* \_SB_.PC02.RPA5 */
                    }
                    Else
                    {
                        Return (0x001C0004)
                    }
                }

                Name (SLOT, 0x05)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR5 /* \LTR5 */
                    LMSL = PML5 /* \_SB_.PC02.PML5 */
                    LNSL = PNL4 /* \_SB_.PC02.PNL4 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x10) != Zero)))
                        {
                            ADBG ("PCH RP05 (129/28/4) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP05))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP05.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP05._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP05.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR04) /* \_SB_.AR04 */
                        }
                    }

                    Return (PD04) /* \_SB_.PD04 */
                }
            }

            Device (RP06)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPA6 != Zero))
                    {
                        Return (RPA6) /* \_SB_.PC02.RPA6 */
                    }
                    Else
                    {
                        Return (0x001C0005)
                    }
                }

                Name (SLOT, 0x06)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR6 /* \LTR6 */
                    LMSL = PML6 /* \_SB_.PC02.PML6 */
                    LNSL = PNL6 /* \_SB_.PC02.PNL6 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x20) != Zero)))
                        {
                            ADBG ("PCH RP06 (129/28/5) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP06))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP06.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP06._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP06.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR05) /* \_SB_.AR05 */
                        }
                    }

                    Return (PD05) /* \_SB_.PD05 */
                }
            }

            Device (RP07)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPA7 != Zero))
                    {
                        Return (RPA7) /* \_SB_.PC02.RPA7 */
                    }
                    Else
                    {
                        Return (0x001C0006)
                    }
                }

                Name (SLOT, 0x07)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR7 /* \LTR7 */
                    LMSL = PML7 /* \_SB_.PC02.PML7 */
                    LNSL = PNL7 /* \_SB_.PC02.PNL7 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x40) != Zero)))
                        {
                            ADBG ("PCH RP07 (129/28/6) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP07))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP07.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP07._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP07.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR06) /* \_SB_.AR06 */
                        }
                    }

                    Return (PD06) /* \_SB_.PD06 */
                }
            }

            Device (RP08)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPA8 != Zero))
                    {
                        Return (RPA8) /* \_SB_.PC02.RPA8 */
                    }
                    Else
                    {
                        Return (0x001C0007)
                    }
                }

                Name (SLOT, 0x08)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR8 /* \LTR8 */
                    LMSL = PML8 /* \_SB_.PC02.PML8 */
                    LNSL = PNL8 /* \_SB_.PC02.PNL8 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x80) != Zero)))
                        {
                            ADBG ("PCH RP08 (129/28/7) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP08))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP08.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP08._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP08.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR07) /* \_SB_.AR07 */
                        }
                    }

                    Return (PD07) /* \_SB_.PD07 */
                }
            }

            Device (RP09)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPA9 != Zero))
                    {
                        Return (RPA9) /* \_SB_.PC02.RPA9 */
                    }
                    Else
                    {
                        Return (0x001D0000)
                    }
                }

                Name (SLOT, 0x09)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR9 /* \LTR9 */
                    LMSL = PML9 /* \_SB_.PC02.PML9 */
                    LNSL = PNL9 /* \_SB_.PC02.PNL9 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x0100) != Zero)))
                        {
                            ADBG ("PCH RP09 (129/29/0) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP09))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP09.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP09._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP09.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR04) /* \_SB_.AR04 */
                        }
                    }

                    Return (PD04) /* \_SB_.PD04 */
                }
            }

            Device (RP10)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPAA != Zero))
                    {
                        Return (RPAA) /* \_SB_.PC02.RPAA */
                    }
                    Else
                    {
                        Return (0x001D0001)
                    }
                }

                Name (SLOT, 0x0A)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRA /* \LTRA */
                    LMSL = PMLA /* \_SB_.PC02.PMLA */
                    LNSL = PNLA /* \_SB_.PC02.PNLA */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x0200) != Zero)))
                        {
                            ADBG ("PCH RP10 (129/29/1) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP10))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP10.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP10._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP10.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR05) /* \_SB_.AR05 */
                        }
                    }

                    Return (PD05) /* \_SB_.PD05 */
                }
            }

            Device (RP11)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPAB != Zero))
                    {
                        Return (RPAB) /* \_SB_.PC02.RPAB */
                    }
                    Else
                    {
                        Return (0x001D0002)
                    }
                }

                Name (SLOT, 0x0B)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRB /* \LTRB */
                    LMSL = PMLB /* \_SB_.PC02.PMLB */
                    LNSL = PNLB /* \_SB_.PC02.PNLB */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x0400) != Zero)))
                        {
                            ADBG ("PCH RP11 (129/29/2) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP11))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP11.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP11._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP11.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR06) /* \_SB_.AR06 */
                        }
                    }

                    Return (PD06) /* \_SB_.PD06 */
                }
            }

            Device (RP12)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPAC != Zero))
                    {
                        Return (RPAC) /* \_SB_.PC02.RPAC */
                    }
                    Else
                    {
                        Return (0x001D0003)
                    }
                }

                Name (SLOT, 0x0C)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRC /* \LTRC */
                    LMSL = PMLC /* \_SB_.PC02.PMLC */
                    LNSL = PNLC /* \_SB_.PC02.PNLC */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x0800) != Zero)))
                        {
                            ADBG ("PCH RP12 (129/29/3) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP12))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP12.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP12._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP12.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR07) /* \_SB_.AR07 */
                        }
                    }

                    Return (PD07) /* \_SB_.PD07 */
                }
            }

            Device (RP13)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPAD != Zero))
                    {
                        Return (RPAD) /* \_SB_.PC02.RPAD */
                    }
                    Else
                    {
                        Return (0x001D0004)
                    }
                }

                Name (SLOT, 0x0D)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRD /* \LTRD */
                    LMSL = PMLD /* \_SB_.PC02.PMLD */
                    LNSL = PNLD /* \_SB_.PC02.PNLD */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x1000) != Zero)))
                        {
                            ADBG ("PCH RP13 (129/29/4) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP13))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP13.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP13._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP13.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR04) /* \_SB_.AR04 */
                        }
                    }

                    Return (PD04) /* \_SB_.PD04 */
                }
            }

            Device (RP14)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPAE != Zero))
                    {
                        Return (RPAE) /* \_SB_.PC02.RPAE */
                    }
                    Else
                    {
                        Return (0x001D0005)
                    }
                }

                Name (SLOT, 0x0E)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRE /* \LTRE */
                    LMSL = PMLE /* \_SB_.PC02.PMLE */
                    LNSL = PNLE /* \_SB_.PC02.PNLE */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x2000) != Zero)))
                        {
                            ADBG ("PCH RP14 (129/29/5) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP14))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP14.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP14._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP14.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR05) /* \_SB_.AR05 */
                        }
                    }

                    Return (PD05) /* \_SB_.PD05 */
                }
            }

            Device (RP15)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPAF != Zero))
                    {
                        Return (RPAF) /* \_SB_.PC02.RPAF */
                    }
                    Else
                    {
                        Return (0x001D0006)
                    }
                }

                Name (SLOT, 0x0F)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRF /* \LTRF */
                    LMSL = PMLF /* \_SB_.PC02.PMLF */
                    LNSL = PNLF /* \_SB_.PC02.PNLF */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x4000) != Zero)))
                        {
                            ADBG ("PCH RP15 (129/29/6) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP15))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP15.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP15._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP15.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR06) /* \_SB_.AR06 */
                        }
                    }

                    Return (PD06) /* \_SB_.PD06 */
                }
            }

            Device (RP16)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPAG != Zero))
                    {
                        Return (RPAG) /* \_SB_.PC02.RPAG */
                    }
                    Else
                    {
                        Return (0x001D0007)
                    }
                }

                Name (SLOT, 0x10)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRG /* \LTRG */
                    LMSL = PMLG /* \_SB_.PC02.PMLG */
                    LNSL = PNLG /* \_SB_.PC02.PNLG */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x8000) != Zero)))
                        {
                            ADBG ("PCH RP16 (129/29/7) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP16))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP16.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP16._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP16.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR07) /* \_SB_.AR07 */
                        }
                    }

                    Return (PD07) /* \_SB_.PD07 */
                }
            }

            Device (RP17)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPAH != Zero))
                    {
                        Return (RPAH) /* \_SB_.PC02.RPAH */
                    }
                    Else
                    {
                        Return (0x001B0000)
                    }
                }

                Name (SLOT, 0x11)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRH /* \LTRH */
                    LMSL = PMLH /* \_SB_.PC02.PMLH */
                    LNSL = PNLH /* \_SB_.PC02.PNLH */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x00010000) != Zero)))
                        {
                            ADBG ("PCH RP17 (129/27/0) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP17))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP17.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP17._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP17.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR04) /* \_SB_.AR04 */
                        }
                    }

                    Return (PD04) /* \_SB_.PD04 */
                }
            }

            Device (RP18)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPAI != Zero))
                    {
                        Return (RPAI) /* \_SB_.PC02.RPAI */
                    }
                    Else
                    {
                        Return (0x001B0001)
                    }
                }

                Name (SLOT, 0x12)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRI /* \LTRI */
                    LMSL = PMLI /* \_SB_.PC02.PMLI */
                    LNSL = PNLI /* \_SB_.PC02.PNLI */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x00020000) != Zero)))
                        {
                            ADBG ("PCH RP18 (129/27/1) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP18))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP18.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP18._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP18.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR05) /* \_SB_.AR05 */
                        }
                    }

                    Return (PD05) /* \_SB_.PD05 */
                }
            }

            Device (RP19)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPAJ != Zero))
                    {
                        Return (RPAJ) /* \_SB_.PC02.RPAJ */
                    }
                    Else
                    {
                        Return (0x001B0002)
                    }
                }

                Name (SLOT, 0x13)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRJ /* \LTRJ */
                    LMSL = PMLJ /* \_SB_.PC02.PMLJ */
                    LNSL = PNLJ /* \_SB_.PC02.PNLJ */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x00040000) != Zero)))
                        {
                            ADBG ("PCH RP19 (129/27/2) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP19))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP19.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP19._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP19.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR06) /* \_SB_.AR06 */
                        }
                    }

                    Return (PD06) /* \_SB_.PD06 */
                }
            }

            Device (RP20)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPAK != Zero))
                    {
                        Return (RPAK) /* \_SB_.PC02.RPAK */
                    }
                    Else
                    {
                        Return (0x001B0003)
                    }
                }

                Name (SLOT, 0x14)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRK /* \LTRK */
                    LMSL = PMLK /* \_SB_.PC02.PMLK */
                    LNSL = PNLK /* \_SB_.PC02.PNLK */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x00080000) != Zero)))
                        {
                            ADBG ("RP20 (129/29/3) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP20))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP20.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP20._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP20.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR07) /* \_SB_.AR07 */
                        }
                    }

                    Return (PD07) /* \_SB_.PD07 */
                }
            }

            Device (RP21)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPAL != Zero))
                    {
                        Return (RPAL) /* \_SB_.PC02.RPAL */
                    }
                    Else
                    {
                        Return (0x001B0004)
                    }
                }

                Name (SLOT, 0x15)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRL /* \LTRL */
                    LMSL = PMLL /* \_SB_.PC02.PMLL */
                    LNSL = PNLL /* \_SB_.PC02.PNLL */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x00100000) != Zero)))
                        {
                            ADBG ("RP21 (129/27/4) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP21))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP21.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP21._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP21.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR04) /* \_SB_.AR04 */
                        }
                    }

                    Return (PD04) /* \_SB_.PD04 */
                }
            }

            Device (RP22)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPAM != Zero))
                    {
                        Return (RPAM) /* \_SB_.PC02.RPAM */
                    }
                    Else
                    {
                        Return (0x001B0005)
                    }
                }

                Name (SLOT, 0x16)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRM /* \LTRM */
                    LMSL = PMLM /* \_SB_.PC02.PMLM */
                    LNSL = PNLM /* \_SB_.PC02.PNLM */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x00200000) != Zero)))
                        {
                            ADBG ("PCH RP22 (129/27/5) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP22))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP22.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP22._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP22.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR05) /* \_SB_.AR05 */
                        }
                    }

                    Return (PD05) /* \_SB_.PD05 */
                }
            }

            Device (RP23)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPAN != Zero))
                    {
                        Return (RPAN) /* \_SB_.PC02.RPAN */
                    }
                    Else
                    {
                        Return (0x001B0006)
                    }
                }

                Name (SLOT, 0x17)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRN /* \LTRN */
                    LMSL = PMLN /* \_SB_.PC02.PMLN */
                    LNSL = PNLN /* \_SB_.PC02.PNLN */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x00400000) != Zero)))
                        {
                            ADBG ("PCH RP23 (129/27/6) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP23))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP23.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP23._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP23.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR06) /* \_SB_.AR06 */
                        }
                    }

                    Return (PD06) /* \_SB_.PD06 */
                }
            }

            Device (RP24)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    If ((RPAO != Zero))
                    {
                        Return (RPAO) /* \_SB_.PC02.RPAO */
                    }
                    Else
                    {
                        Return (0x001B0007)
                    }
                }

                Name (SLOT, 0x18)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRO /* \LTRO */
                    LMSL = PMLO /* \_SB_.PC02.PMLO */
                    LNSL = PNLO /* \_SB_.PC02.PNLO */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x00800000) != Zero)))
                        {
                            ADBG ("RP24 (129/27/7) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP24))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP24.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR (), PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP24._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP24.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (CondRefOf (PICM))
                    {
                        If (PICM)
                        {
                            Return (AR07) /* \_SB_.AR07 */
                        }
                    }

                    Return (PD07) /* \_SB_.PD07 */
                }
            }

            Device (XDCI)
            {
                Name (_ADR, 0x00140001)  // _ADR: Address
                OperationRegion (OTGD, PCI_Config, Zero, 0x0100)
                Field (OTGD, DWordAcc, NoLock, Preserve)
                {
                    DVID,   16, 
                    Offset (0x10), 
                    XDCB,   64
                }

                Field (OTGD, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x84), 
                    D0I3,   2
                }

                Method (XDBA, 0, NotSerialized)
                {
                    Return ((XDCB & 0xFFFFFFFFFFFFFF00))
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    ADBG ("XDCI DSM")
                    If ((Arg0 == ToUUID ("732b85d5-b7a7-4a1b-9ba0-4bbd00ffd511") /* Unknown UUID */))
                    {
                        If ((Arg1 == One))
                        {
                            Method (SPPS, 2, Serialized)
                            {
                                OperationRegion (XDBW, SystemMemory, XDBA (), 0x00110000)
                                Field (XDBW, WordAcc, NoLock, Preserve)
                                {
                                    Offset (0x10F810), 
                                    Offset (0x10F811), 
                                    U2CP,   2, 
                                    U3CP,   2, 
                                    Offset (0x10F818), 
                                    PUPS,   2, 
                                        ,   1, 
                                    PURC,   1, 
                                    Offset (0x10F81A), 
                                    Offset (0x10F81C), 
                                        ,   3, 
                                    UXPE,   2, 
                                    Offset (0x10F81E)
                                }

                                Local1 = Arg0
                                Local2 = Arg1
                                If ((Local1 == Zero))
                                {
                                    ADBG ("PMU D0")
                                    UXPE = Zero
                                    Local0 = Zero
                                    While ((Local0 < 0x0A))
                                    {
                                        Stall (0x64)
                                        Local0++
                                    }

                                    PUPS = Zero
                                    Local0 = Zero
                                    While ((Local0 < 0x07D0))
                                    {
                                        Stall (0x64)
                                        If (((U2CP == Zero) && (U3CP == Zero)))
                                        {
                                            Break
                                        }

                                        Local0++
                                    }

                                    If ((U2CP != Zero))
                                    {
                                        ADBG ("U2 not in D0")
                                    }

                                    If ((U3CP != Zero))
                                    {
                                        ADBG ("U3 not in D0")
                                    }

                                    Return (Zero)
                                }

                                If ((Local1 == 0x03))
                                {
                                    ADBG ("PMU D3")
                                    If ((U2CP != Zero))
                                    {
                                        ADBG ("U2 not in D0")
                                    }

                                    If ((U3CP != Zero))
                                    {
                                        ADBG ("U3 not in D0")
                                    }

                                    PUPS = 0x03
                                    Local0 = Zero
                                    While ((Local0 < 0x07D0))
                                    {
                                        Stall (0x64)
                                        If (((U2CP == 0x03) && (U3CP == 0x03)))
                                        {
                                            Break
                                        }

                                        Local0++
                                    }

                                    If ((U2CP != 0x03))
                                    {
                                        ADBG ("U2 not in D3")
                                    }

                                    If ((U3CP != 0x03))
                                    {
                                        ADBG ("U3 not in D3")
                                    }

                                    UXPE = Local2
                                    Return (Zero)
                                }

                                Return (Zero)
                            }

                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    ADBG ("XDCI Fn0")
                                    Return (Buffer (0x02)
                                    {
                                         0xB3, 0x03                                       // ..
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("XDCI Fn1")
                                    Return (One)
                                }
                                Case (0x04)
                                {
                                    ADBG ("XDCI Fn4")
                                    Local1 = DerefOf (Arg3 [Zero])
                                    ADBG (Local1)
                                    SPPS (Local1, Zero)
                                }
                                Case (0x05)
                                {
                                    ADBG ("XDCI Fn5")
                                    Return (Zero)
                                }
                                Case (0x07)
                                {
                                    ADBG ("XDCI Fn7")
                                    OperationRegion (XD22, SystemMemory, XDBA (), 0x00110000)
                                    Field (XD22, WordAcc, NoLock, Preserve)
                                    {
                                        Offset (0x10F818), 
                                        P2PS,   2, 
                                        Offset (0x10F81A)
                                    }

                                    Local0 = P2PS /* \_SB_.PC02.XDCI._DSM.P2PS */
                                    Return (Local0)
                                }
                                Case (0x08)
                                {
                                    ADBG ("XDCI Fn8")
                                    Return (One)
                                }
                                Case (0x09)
                                {
                                    ADBG ("XDCI Fn9")
                                    OperationRegion (XGCT, SystemMemory, XDBA (), 0x00110000)
                                    Field (XGCT, WordAcc, NoLock, Preserve)
                                    {
                                        Offset (0xC110), 
                                        GCTL,   32
                                    }

                                    Local1 = (PPDS & 0xFFF80000)
                                    Local1 >>= 0x13
                                    ADBG (Concatenate ("PCH XDCI: Func9 Return Val = ", ToHexString (Local1)))
                                    Return (Local1)
                                }

                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Name (_DDN, "PCH XDCI controller")  // _DDN: DOS Device Name
                Name (_STR, Unicode ("PCH XDCI controller"))  // _STR: Description String
                Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                {
                    Return (0x03)
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0x8C, 0x04))
                        }
                    }

                    Return (GPRW (0x6D, 0x04))
                }

                Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                {
                }
            }

            Device (HECI)
            {
                Name (_ADR, 0x00160000)  // _ADR: Address
                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    ADBG ("HECI _DSM")
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (CondRefOf (HIWC))
                    {
                        If (HIWC (Arg0))
                        {
                            If (CondRefOf (HIDW))
                            {
                                Return (HIDW (Arg0, Arg1, Arg2, Arg3))
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (HEC3)
            {
                Name (_ADR, 0x00160004)  // _ADR: Address
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Method (SOD3, 3, Serialized)
            {
                OperationRegion (ICB1, SystemMemory, (^^PC00.GPCB () + Arg0), 0x88)
                If (Arg1)
                {
                    Field (ICB1, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0x84), 
                        PMEC,   8
                    }

                    PMEC = 0x03
                    PMEC |= Zero
                }

                If ((Arg1 && Arg2))
                {
                    Field (ICB1, AnyAcc, NoLock, Preserve)
                    {
                        Offset (0x10), 
                        BAR0,   64
                    }

                    BAR0 = Zero
                }
            }

            Device (I2C0)
            {
                If ((IM00 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC00, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00150000)
                }
            }

            Device (I2C1)
            {
                If ((IM01 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC01, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00150001)
                }
            }

            Device (I2C2)
            {
                If ((IM02 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC02, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00150002)
                }
            }

            Device (I2C3)
            {
                If ((IM03 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC03, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00150003)
                }
            }

            Device (I2C4)
            {
                If ((IM04 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC04, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00190000)
                }
            }

            Device (I2C5)
            {
                If ((IM05 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC05, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00190001)
                }
            }

            Device (I3C0)
            {
                Name (_ADR, 0x00150004)  // _ADR: Address
                Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                {
                    Return (0x03)
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (GPRW (0x6B, 0x04))
                }
            }

            Device (SPI0)
            {
                If ((SM00 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (SC00, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x001E0002)
                }
            }

            Device (SPI1)
            {
                If ((SM01 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (SC01, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x001E0003)
                }
            }

            Device (SPI2)
            {
                If ((SM02 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (SC02, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00120006)
                }
            }

            Device (SPI3)
            {
                If ((SM03 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (SC03, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00130000)
                }
            }

            Method (UDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("f7af8347-a966-49fe-9022-7a9deeebdb27") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (UDMA, 2, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Return (Buffer (0x08)
                        {
                             0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                        })
                    }
                    Case (One)
                    {
                        Return (ToInteger (Arg1))
                    }

                }

                Return (Buffer (0x08)
                {
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                })
            }

            Device (ISHD)
            {
                Name (_ADR, 0x00120000)  // _ADR: Address
            }
        }

        If ((\_SB.PC02.UM00 == One))
        {
            Scope (_SB.PC02)
            {
                Device (UA00)
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (UDSM (Arg0))
                        {
                            Return (UDMA (Arg2, UD00))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (0x001E0000)
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (UC00, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }
            }
        }

        Scope (_SB)
        {
            If (((PC02.UM00 == 0x02) || (PC02.UM00 == 0x03)))
            {
                Device (PUA0)
                {
                    Name (_DDN, "MtlPchSerialIoUart0")  // _DDN: DOS Device Name
                    Name (_UID, "MtlPchSerialIoUart0")  // _UID: Unique ID
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return (UHID (^^PC02.UM00))
                    }

                    Method (UHID, 1, Serialized)
                    {
                        If ((Arg0 == 0x03))
                        {
                            Return (0x0105D041)
                        }

                        Return (0x020CD041)
                    }

                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (UARH (^^PC02.UC00, ^^PC02.UI00))
                    }

                    Method (UARH, 2, Serialized)
                    {
                        OperationRegion (UACF, SystemMemory, Arg0, 0x18)
                        Field (UACF, AnyAcc, NoLock, Preserve)
                        {
                            Offset (0x10), 
                            BAR0,   64
                        }

                        Name (BUF0, ResourceTemplate ()
                        {
                            Memory32Fixed (ReadWrite,
                                0x00000000,         // Address Base
                                0x00000008,         // Address Length
                                _Y3C)
                        })
                        Name (IBUF, ResourceTemplate ()
                        {
                            Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y3D)
                            {
                                0x00000014,
                            }
                        })
                        CreateDWordField (BUF0, \_SB.PUA0.UARH._Y3C._BAS, ADR0)  // _BAS: Base Address
                        CreateDWordField (IBUF, \_SB.PUA0.UARH._Y3D._INT, IRQN)  // _INT: Interrupts
                        Local0 = (BAR0 & 0xFFFFFFFFFFFFF000)
                        ADR0 = Local0
                        IRQN = Arg1
                        ConcatenateResTemplate (BUF0, IBUF, Local1)
                        Return (Local1)
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((^^PC02.UM00 == 0x03))
                        {
                            Return (0x0F)
                        }

                        Return (0x08)
                    }

                    Method (UPS3, 2, Serialized)
                    {
                        Name (REGS, Package (0x08)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                        If ((Arg0 == One))
                        {
                            OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                            Field (UACF, AnyAcc, NoLock, Preserve)
                            {
                                Offset (0x10), 
                                BAR0,   64
                            }

                            Field (UACF, ByteAcc, NoLock, Preserve)
                            {
                                Offset (0x84), 
                                PMEC,   8
                            }

                            OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                            Field (UAB0, ByteAcc, Lock, Preserve)
                            {
                                DLL,    8, 
                                DLH,    8, 
                                FCR,    8, 
                                LCR,    8, 
                                MCR,    8, 
                                Offset (0x81), 
                                PPRR,   8
                            }

                            Field (UAB0, DWordAcc, NoLock, Preserve)
                            {
                                Offset (0x80), 
                                PCLK,   32
                            }

                            Local1 = LCR /* \_SB_.PUA0.UPS3.LCR_ */
                            LCR |= 0x80
                            REGS [Zero] = DLL /* \_SB_.PUA0.UPS3.DLL_ */
                            REGS [One] = DLH /* \_SB_.PUA0.UPS3.DLH_ */
                            LCR = Local1
                            REGS [0x02] = FCR /* \_SB_.PUA0.UPS3.FCR_ */
                            REGS [0x03] = Local1
                            REGS [0x04] = MCR /* \_SB_.PUA0.UPS3.MCR_ */
                            REGS [0x05] = PCLK /* \_SB_.PUA0.UPS3.PCLK */
                            If (((DerefOf (REGS [0x05]) != Zero) && (
                                DerefOf (REGS [0x05]) != 0xFFFFFFFF)))
                            {
                                URSA ((BAR0 & 0xFFFFFFFFFFFFF000), REGS)
                            }

                            PPRR = Zero
                            PPRR |= Zero
                            PMEC = 0x03
                            PMEC |= Zero
                        }
                    }

                    Method (UPS0, 2, Serialized)
                    {
                        If ((Arg0 == One))
                        {
                            OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                            Field (UACF, AnyAcc, NoLock, Preserve)
                            {
                                Offset (0x10), 
                                BAR0,   64
                            }

                            Field (UACF, ByteAcc, NoLock, Preserve)
                            {
                                Offset (0x84), 
                                PMEC,   8
                            }

                            OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                            Field (UAB0, ByteAcc, Lock, Preserve)
                            {
                                DLL,    8, 
                                DLH,    8, 
                                FCR,    8, 
                                LCR,    8, 
                                MCR,    8, 
                                Offset (0x81), 
                                PPRR,   8
                            }

                            Field (UAB0, DWordAcc, NoLock, Preserve)
                            {
                                Offset (0x80), 
                                PCLK,   32
                            }

                            PMEC = Zero
                            PMEC |= Zero
                            PPRR = 0x07
                            Local0 = URRS ((BAR0 & 0xFFFFFFFFFFFFF000))
                            If (((DerefOf (Local0 [0x05]) != Zero) && (
                                DerefOf (Local0 [0x05]) != 0xFFFFFFFF)))
                            {
                                LCR |= 0x80
                                DLL = DerefOf (Local0 [Zero])
                                DLH = DerefOf (Local0 [One])
                                LCR = DerefOf (Local0 [0x03])
                                FCR = DerefOf (Local0 [0x02])
                                MCR = DerefOf (Local0 [0x04])
                                Local2 = (DerefOf (Local0 [0x05]) | 0x80000001)
                                PCLK = Local2
                                Local2 = (DerefOf (Local0 [0x05]) | One)
                                PCLK = Local2
                            }
                        }
                    }

                    Method (UPSC, 1, Serialized)
                    {
                        OperationRegion (UACF, SystemMemory, (Arg0 + 0x84), 0x04)
                        Field (UACF, ByteAcc, NoLock, Preserve)
                        {
                            PMEC,   8
                        }

                        Return ((PMEC & 0x03))
                    }

                    If ((^PC02.UM00 == 0x03))
                    {
                        Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
                        {
                            Return (UPSC (^^PC02.UC00))
                        }

                        Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                        {
                            UPS3 (^^PC02.UP00, ^^PC02.UC00)
                        }

                        Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                        {
                            UPS0 (^^PC02.UP00, ^^PC02.UC00)
                        }
                    }
                }
            }
        }

        If ((\_SB.PC02.UM01 == One))
        {
            Scope (_SB.PC02)
            {
                Device (UA01)
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (UDSM (Arg0))
                        {
                            Return (UDMA (Arg2, UD01))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (0x001E0001)
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (UC01, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }
            }
        }

        Scope (_SB)
        {
            If (((PC02.UM01 == 0x02) || (PC02.UM01 == 0x03)))
            {
                Device (PUA1)
                {
                    Name (_DDN, "MtlPchSerialIoUart1")  // _DDN: DOS Device Name
                    Name (_UID, "MtlPchSerialIoUart1")  // _UID: Unique ID
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return (UHID (^^PC02.UM01))
                    }

                    Method (UHID, 1, Serialized)
                    {
                        If ((Arg0 == 0x03))
                        {
                            Return (0x0105D041)
                        }

                        Return (0x020CD041)
                    }

                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (UARH (^^PC02.UC01, ^^PC02.UI01))
                    }

                    Method (UARH, 2, Serialized)
                    {
                        OperationRegion (UACF, SystemMemory, Arg0, 0x18)
                        Field (UACF, AnyAcc, NoLock, Preserve)
                        {
                            Offset (0x10), 
                            BAR0,   64
                        }

                        Name (BUF0, ResourceTemplate ()
                        {
                            Memory32Fixed (ReadWrite,
                                0x00000000,         // Address Base
                                0x00000008,         // Address Length
                                _Y3E)
                        })
                        Name (IBUF, ResourceTemplate ()
                        {
                            Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y3F)
                            {
                                0x00000014,
                            }
                        })
                        CreateDWordField (BUF0, \_SB.PUA1.UARH._Y3E._BAS, ADR0)  // _BAS: Base Address
                        CreateDWordField (IBUF, \_SB.PUA1.UARH._Y3F._INT, IRQN)  // _INT: Interrupts
                        Local0 = (BAR0 & 0xFFFFFFFFFFFFF000)
                        ADR0 = Local0
                        IRQN = Arg1
                        ConcatenateResTemplate (BUF0, IBUF, Local1)
                        Return (Local1)
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((^^PC02.UM01 == 0x03))
                        {
                            Return (0x0F)
                        }

                        Return (0x08)
                    }

                    Method (UPS3, 2, Serialized)
                    {
                        Name (REGS, Package (0x08)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                        If ((Arg0 == One))
                        {
                            OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                            Field (UACF, AnyAcc, NoLock, Preserve)
                            {
                                Offset (0x10), 
                                BAR0,   64
                            }

                            Field (UACF, ByteAcc, NoLock, Preserve)
                            {
                                Offset (0x84), 
                                PMEC,   8
                            }

                            OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                            Field (UAB0, ByteAcc, Lock, Preserve)
                            {
                                DLL,    8, 
                                DLH,    8, 
                                FCR,    8, 
                                LCR,    8, 
                                MCR,    8, 
                                Offset (0x81), 
                                PPRR,   8
                            }

                            Field (UAB0, DWordAcc, NoLock, Preserve)
                            {
                                Offset (0x80), 
                                PCLK,   32
                            }

                            Local1 = LCR /* \_SB_.PUA1.UPS3.LCR_ */
                            LCR |= 0x80
                            REGS [Zero] = DLL /* \_SB_.PUA1.UPS3.DLL_ */
                            REGS [One] = DLH /* \_SB_.PUA1.UPS3.DLH_ */
                            LCR = Local1
                            REGS [0x02] = FCR /* \_SB_.PUA1.UPS3.FCR_ */
                            REGS [0x03] = Local1
                            REGS [0x04] = MCR /* \_SB_.PUA1.UPS3.MCR_ */
                            REGS [0x05] = PCLK /* \_SB_.PUA1.UPS3.PCLK */
                            If (((DerefOf (REGS [0x05]) != Zero) && (
                                DerefOf (REGS [0x05]) != 0xFFFFFFFF)))
                            {
                                URSA ((BAR0 & 0xFFFFFFFFFFFFF000), REGS)
                            }

                            PPRR = Zero
                            PPRR |= Zero
                            PMEC = 0x03
                            PMEC |= Zero
                        }
                    }

                    Method (UPS0, 2, Serialized)
                    {
                        If ((Arg0 == One))
                        {
                            OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                            Field (UACF, AnyAcc, NoLock, Preserve)
                            {
                                Offset (0x10), 
                                BAR0,   64
                            }

                            Field (UACF, ByteAcc, NoLock, Preserve)
                            {
                                Offset (0x84), 
                                PMEC,   8
                            }

                            OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                            Field (UAB0, ByteAcc, Lock, Preserve)
                            {
                                DLL,    8, 
                                DLH,    8, 
                                FCR,    8, 
                                LCR,    8, 
                                MCR,    8, 
                                Offset (0x81), 
                                PPRR,   8
                            }

                            Field (UAB0, DWordAcc, NoLock, Preserve)
                            {
                                Offset (0x80), 
                                PCLK,   32
                            }

                            PMEC = Zero
                            PMEC |= Zero
                            PPRR = 0x07
                            Local0 = URRS ((BAR0 & 0xFFFFFFFFFFFFF000))
                            If (((DerefOf (Local0 [0x05]) != Zero) && (
                                DerefOf (Local0 [0x05]) != 0xFFFFFFFF)))
                            {
                                LCR |= 0x80
                                DLL = DerefOf (Local0 [Zero])
                                DLH = DerefOf (Local0 [One])
                                LCR = DerefOf (Local0 [0x03])
                                FCR = DerefOf (Local0 [0x02])
                                MCR = DerefOf (Local0 [0x04])
                                Local2 = (DerefOf (Local0 [0x05]) | 0x80000001)
                                PCLK = Local2
                                Local2 = (DerefOf (Local0 [0x05]) | One)
                                PCLK = Local2
                            }
                        }
                    }

                    Method (UPSC, 1, Serialized)
                    {
                        OperationRegion (UACF, SystemMemory, (Arg0 + 0x84), 0x04)
                        Field (UACF, ByteAcc, NoLock, Preserve)
                        {
                            PMEC,   8
                        }

                        Return ((PMEC & 0x03))
                    }

                    If ((^PC02.UM01 == 0x03))
                    {
                        Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
                        {
                            Return (UPSC (^^PC02.UC01))
                        }

                        Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                        {
                            UPS3 (^^PC02.UP01, ^^PC02.UC01)
                        }

                        Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                        {
                            UPS0 (^^PC02.UP01, ^^PC02.UC01)
                        }
                    }
                }
            }
        }

        If ((\_SB.PC02.UM02 == One))
        {
            Scope (_SB.PC02)
            {
                Device (UA02)
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (UDSM (Arg0))
                        {
                            Return (UDMA (Arg2, UD02))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (0x00190002)
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (UC02, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }
            }
        }

        Scope (_SB)
        {
            If (((PC02.UM02 == 0x02) || (PC02.UM02 == 0x03)))
            {
                Device (PUA2)
                {
                    Name (_DDN, "MtlPchSerialIoUart2")  // _DDN: DOS Device Name
                    Name (_UID, "MtlPchSerialIoUart2")  // _UID: Unique ID
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return (UHID (^^PC02.UM02))
                    }

                    Method (UHID, 1, Serialized)
                    {
                        If ((Arg0 == 0x03))
                        {
                            Return (0x0105D041)
                        }

                        Return (0x020CD041)
                    }

                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (UARH (^^PC02.UC02, ^^PC02.UI02))
                    }

                    Method (UARH, 2, Serialized)
                    {
                        OperationRegion (UACF, SystemMemory, Arg0, 0x18)
                        Field (UACF, AnyAcc, NoLock, Preserve)
                        {
                            Offset (0x10), 
                            BAR0,   64
                        }

                        Name (BUF0, ResourceTemplate ()
                        {
                            Memory32Fixed (ReadWrite,
                                0x00000000,         // Address Base
                                0x00000008,         // Address Length
                                _Y40)
                        })
                        Name (IBUF, ResourceTemplate ()
                        {
                            Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y41)
                            {
                                0x00000014,
                            }
                        })
                        CreateDWordField (BUF0, \_SB.PUA2.UARH._Y40._BAS, ADR0)  // _BAS: Base Address
                        CreateDWordField (IBUF, \_SB.PUA2.UARH._Y41._INT, IRQN)  // _INT: Interrupts
                        Local0 = (BAR0 & 0xFFFFFFFFFFFFF000)
                        ADR0 = Local0
                        IRQN = Arg1
                        ConcatenateResTemplate (BUF0, IBUF, Local1)
                        Return (Local1)
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((^^PC02.UM02 == 0x03))
                        {
                            Return (0x0F)
                        }

                        Return (0x08)
                    }

                    Method (UPS3, 2, Serialized)
                    {
                        Name (REGS, Package (0x08)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                        If ((Arg0 == One))
                        {
                            OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                            Field (UACF, AnyAcc, NoLock, Preserve)
                            {
                                Offset (0x10), 
                                BAR0,   64
                            }

                            Field (UACF, ByteAcc, NoLock, Preserve)
                            {
                                Offset (0x84), 
                                PMEC,   8
                            }

                            OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                            Field (UAB0, ByteAcc, Lock, Preserve)
                            {
                                DLL,    8, 
                                DLH,    8, 
                                FCR,    8, 
                                LCR,    8, 
                                MCR,    8, 
                                Offset (0x81), 
                                PPRR,   8
                            }

                            Field (UAB0, DWordAcc, NoLock, Preserve)
                            {
                                Offset (0x80), 
                                PCLK,   32
                            }

                            Local1 = LCR /* \_SB_.PUA2.UPS3.LCR_ */
                            LCR |= 0x80
                            REGS [Zero] = DLL /* \_SB_.PUA2.UPS3.DLL_ */
                            REGS [One] = DLH /* \_SB_.PUA2.UPS3.DLH_ */
                            LCR = Local1
                            REGS [0x02] = FCR /* \_SB_.PUA2.UPS3.FCR_ */
                            REGS [0x03] = Local1
                            REGS [0x04] = MCR /* \_SB_.PUA2.UPS3.MCR_ */
                            REGS [0x05] = PCLK /* \_SB_.PUA2.UPS3.PCLK */
                            If (((DerefOf (REGS [0x05]) != Zero) && (
                                DerefOf (REGS [0x05]) != 0xFFFFFFFF)))
                            {
                                URSA ((BAR0 & 0xFFFFFFFFFFFFF000), REGS)
                            }

                            PPRR = Zero
                            PPRR |= Zero
                            PMEC = 0x03
                            PMEC |= Zero
                        }
                    }

                    Method (UPS0, 2, Serialized)
                    {
                        If ((Arg0 == One))
                        {
                            OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                            Field (UACF, AnyAcc, NoLock, Preserve)
                            {
                                Offset (0x10), 
                                BAR0,   64
                            }

                            Field (UACF, ByteAcc, NoLock, Preserve)
                            {
                                Offset (0x84), 
                                PMEC,   8
                            }

                            OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                            Field (UAB0, ByteAcc, Lock, Preserve)
                            {
                                DLL,    8, 
                                DLH,    8, 
                                FCR,    8, 
                                LCR,    8, 
                                MCR,    8, 
                                Offset (0x81), 
                                PPRR,   8
                            }

                            Field (UAB0, DWordAcc, NoLock, Preserve)
                            {
                                Offset (0x80), 
                                PCLK,   32
                            }

                            PMEC = Zero
                            PMEC |= Zero
                            PPRR = 0x07
                            Local0 = URRS ((BAR0 & 0xFFFFFFFFFFFFF000))
                            If (((DerefOf (Local0 [0x05]) != Zero) && (
                                DerefOf (Local0 [0x05]) != 0xFFFFFFFF)))
                            {
                                LCR |= 0x80
                                DLL = DerefOf (Local0 [Zero])
                                DLH = DerefOf (Local0 [One])
                                LCR = DerefOf (Local0 [0x03])
                                FCR = DerefOf (Local0 [0x02])
                                MCR = DerefOf (Local0 [0x04])
                                Local2 = (DerefOf (Local0 [0x05]) | 0x80000001)
                                PCLK = Local2
                                Local2 = (DerefOf (Local0 [0x05]) | One)
                                PCLK = Local2
                            }
                        }
                    }

                    Method (UPSC, 1, Serialized)
                    {
                        OperationRegion (UACF, SystemMemory, (Arg0 + 0x84), 0x04)
                        Field (UACF, ByteAcc, NoLock, Preserve)
                        {
                            PMEC,   8
                        }

                        Return ((PMEC & 0x03))
                    }

                    If ((^PC02.UM02 == 0x03))
                    {
                        Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
                        {
                            Return (UPSC (^^PC02.UC02))
                        }

                        Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                        {
                            UPS3 (^^PC02.UP02, ^^PC02.UC02)
                        }

                        Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                        {
                            UPS0 (^^PC02.UP02, ^^PC02.UC02)
                        }
                    }
                }
            }
        }

        If ((\_SB.PC02.UM03 == One))
        {
            Scope (_SB.PC02)
            {
                Device (UA03)
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (UDSM (Arg0))
                        {
                            Return (UDMA (Arg2, UD03))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (0x00130001)
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (UC03, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }
            }
        }

        Scope (_SB)
        {
            If (((PC02.UM03 == 0x02) || (PC02.UM03 == 0x03)))
            {
                Device (PUA3)
                {
                    Name (_DDN, "MtlPchSerialIoUart3")  // _DDN: DOS Device Name
                    Name (_UID, "MtlPchSerialIoUart3")  // _UID: Unique ID
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return (UHID (^^PC02.UM03))
                    }

                    Method (UHID, 1, Serialized)
                    {
                        If ((Arg0 == 0x03))
                        {
                            Return (0x0105D041)
                        }

                        Return (0x020CD041)
                    }

                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (UARH (^^PC02.UC03, ^^PC02.UI03))
                    }

                    Method (UARH, 2, Serialized)
                    {
                        OperationRegion (UACF, SystemMemory, Arg0, 0x18)
                        Field (UACF, AnyAcc, NoLock, Preserve)
                        {
                            Offset (0x10), 
                            BAR0,   64
                        }

                        Name (BUF0, ResourceTemplate ()
                        {
                            Memory32Fixed (ReadWrite,
                                0x00000000,         // Address Base
                                0x00000008,         // Address Length
                                _Y42)
                        })
                        Name (IBUF, ResourceTemplate ()
                        {
                            Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y43)
                            {
                                0x00000014,
                            }
                        })
                        CreateDWordField (BUF0, \_SB.PUA3.UARH._Y42._BAS, ADR0)  // _BAS: Base Address
                        CreateDWordField (IBUF, \_SB.PUA3.UARH._Y43._INT, IRQN)  // _INT: Interrupts
                        Local0 = (BAR0 & 0xFFFFFFFFFFFFF000)
                        ADR0 = Local0
                        IRQN = Arg1
                        ConcatenateResTemplate (BUF0, IBUF, Local1)
                        Return (Local1)
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((^^PC02.UM03 == 0x03))
                        {
                            Return (0x0F)
                        }

                        Return (0x08)
                    }

                    Method (UPS3, 2, Serialized)
                    {
                        Name (REGS, Package (0x08)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                        If ((Arg0 == One))
                        {
                            OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                            Field (UACF, AnyAcc, NoLock, Preserve)
                            {
                                Offset (0x10), 
                                BAR0,   64
                            }

                            Field (UACF, ByteAcc, NoLock, Preserve)
                            {
                                Offset (0x84), 
                                PMEC,   8
                            }

                            OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                            Field (UAB0, ByteAcc, Lock, Preserve)
                            {
                                DLL,    8, 
                                DLH,    8, 
                                FCR,    8, 
                                LCR,    8, 
                                MCR,    8, 
                                Offset (0x81), 
                                PPRR,   8
                            }

                            Field (UAB0, DWordAcc, NoLock, Preserve)
                            {
                                Offset (0x80), 
                                PCLK,   32
                            }

                            Local1 = LCR /* \_SB_.PUA3.UPS3.LCR_ */
                            LCR |= 0x80
                            REGS [Zero] = DLL /* \_SB_.PUA3.UPS3.DLL_ */
                            REGS [One] = DLH /* \_SB_.PUA3.UPS3.DLH_ */
                            LCR = Local1
                            REGS [0x02] = FCR /* \_SB_.PUA3.UPS3.FCR_ */
                            REGS [0x03] = Local1
                            REGS [0x04] = MCR /* \_SB_.PUA3.UPS3.MCR_ */
                            REGS [0x05] = PCLK /* \_SB_.PUA3.UPS3.PCLK */
                            If (((DerefOf (REGS [0x05]) != Zero) && (
                                DerefOf (REGS [0x05]) != 0xFFFFFFFF)))
                            {
                                URSA ((BAR0 & 0xFFFFFFFFFFFFF000), REGS)
                            }

                            PPRR = Zero
                            PPRR |= Zero
                            PMEC = 0x03
                            PMEC |= Zero
                        }
                    }

                    Method (UPS0, 2, Serialized)
                    {
                        If ((Arg0 == One))
                        {
                            OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                            Field (UACF, AnyAcc, NoLock, Preserve)
                            {
                                Offset (0x10), 
                                BAR0,   64
                            }

                            Field (UACF, ByteAcc, NoLock, Preserve)
                            {
                                Offset (0x84), 
                                PMEC,   8
                            }

                            OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                            Field (UAB0, ByteAcc, Lock, Preserve)
                            {
                                DLL,    8, 
                                DLH,    8, 
                                FCR,    8, 
                                LCR,    8, 
                                MCR,    8, 
                                Offset (0x81), 
                                PPRR,   8
                            }

                            Field (UAB0, DWordAcc, NoLock, Preserve)
                            {
                                Offset (0x80), 
                                PCLK,   32
                            }

                            PMEC = Zero
                            PMEC |= Zero
                            PPRR = 0x07
                            Local0 = URRS ((BAR0 & 0xFFFFFFFFFFFFF000))
                            If (((DerefOf (Local0 [0x05]) != Zero) && (
                                DerefOf (Local0 [0x05]) != 0xFFFFFFFF)))
                            {
                                LCR |= 0x80
                                DLL = DerefOf (Local0 [Zero])
                                DLH = DerefOf (Local0 [One])
                                LCR = DerefOf (Local0 [0x03])
                                FCR = DerefOf (Local0 [0x02])
                                MCR = DerefOf (Local0 [0x04])
                                Local2 = (DerefOf (Local0 [0x05]) | 0x80000001)
                                PCLK = Local2
                                Local2 = (DerefOf (Local0 [0x05]) | One)
                                PCLK = Local2
                            }
                        }
                    }

                    Method (UPSC, 1, Serialized)
                    {
                        OperationRegion (UACF, SystemMemory, (Arg0 + 0x84), 0x04)
                        Field (UACF, ByteAcc, NoLock, Preserve)
                        {
                            PMEC,   8
                        }

                        Return ((PMEC & 0x03))
                    }

                    If ((^PC02.UM03 == 0x03))
                    {
                        Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
                        {
                            Return (UPSC (^^PC02.UC03))
                        }

                        Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                        {
                            UPS3 (^^PC02.UP03, ^^PC02.UC03)
                        }

                        Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                        {
                            UPS0 (^^PC02.UP03, ^^PC02.UC03)
                        }
                    }
                }
            }
        }

        Scope (_SB.PC02)
        {
            If ((CRFP == One))
            {
                If ((CWFC == One))
                {
                    Device (CNVW)
                    {
                        Name (_ADR, 0x00140003)  // _ADR: Address
                        Name (PU2C, Zero)
                        PU2C = ^PU2C /* \_SB_.PC02.PU2C */
                        Method (BASE, 0, NotSerialized)
                        {
                            Local0 = ^^^PC00.PC2M (_ADR, PBSB)
                            Return (Local0)
                        }

                        Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                        {
                            ADBG ("CNVW Ctrlr D0")
                        }

                        Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                        {
                            ADBG ("CNVW Ctrlr D3")
                        }

                        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                        {
                            Return (GPRW (0x6B, 0x04))
                        }

                        Name (ADEL, Zero)
                        If ((ARLM == One))
                        {
                            ADEL = 0x32
                        }
                        Else
                        {
                            ADEL = 0x0A
                        }

                        Name (RSTT, Zero)
                        Name (PRRS, Zero)
                        OperationRegion (CWAR, SystemMemory, BASE (), 0x0100)
                        Field (CWAR, WordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x44), 
                                ,   28, 
                            WFLR,   1, 
                            Offset (0x48), 
                                ,   15, 
                            WIFR,   1
                        }

                        Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                        {
                            Return (0x03)
                        }

                        Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                        {
                        }

                        PowerResource (WRST, 0x05, 0x0000)
                        {
                            Method (_STA, 0, NotSerialized)  // _STA: Status
                            {
                                Return (One)
                            }

                            Method (_ON, 0, NotSerialized)  // _ON_: Power On
                            {
                            }

                            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                            {
                            }

                            Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                            {
                                Local0 = Acquire (CNMT, 0x03E8)
                                If ((Local0 == Zero))
                                {
                                    CFLR ()
                                    PRRS = One
                                    If ((CondRefOf (RSTT) && (RSTT == One)))
                                    {
                                        ADBG ("WiFi Product Reset")
                                        ADBG (Concatenate ("PID of CNVi = ", ToHexString (PCNV)))
                                        Local5 = ^^^SBPC.PCRR (PCNV, 0x44)
                                        ADBG (Concatenate ("Register PLDB Value = ", ToHexString (Local5)))
                                        If (((^^^SBPC.PCRR (PCNV, 0x44) & 0x02) == Zero))
                                        {
                                            ADBG ("ABORT_REQUEST = 0, previous PLDR completed")
                                            If ((GBTR () == One))
                                            {
                                                BTRK (Zero)
                                                Sleep (0xA0)
                                                Local2 = One
                                            }

                                            ^^^SBPC.PCRO (PCNV, 0x44, 0x03)
                                            ADBG (Concatenate ("WiFi PLDR Timeout wait(ms) = ", ToHexString (ADEL)))
                                            Sleep (ADEL)
                                            Local1 = ^^^SBPC.PCRR (PCNV, 0x44)
                                            ADBG (Concatenate ("CNVI_PLDR_ABORT = ", ToHexString (Local1)))
                                            If ((((Local1 & 0x02) == Zero) && (Local1 & 0x04)))
                                            {
                                                ADBG ("WiFi Product Reset Completed")
                                                PRRS = 0x02
                                                If ((Local2 == One))
                                                {
                                                    BTRK (One)
                                                    Sleep (0xA0)
                                                }
                                            }
                                            Else
                                            {
                                                PRRS = 0x04
                                                BTRK (One)
                                            }
                                        }
                                        Else
                                        {
                                            PRRS = 0x03
                                        }
                                    }

                                    ADBG (Concatenate ("WiFi PRRS = ", PRRS))
                                    Release (CNMT)
                                }
                            }
                        }

                        Name (_PRR, Package (0x01)  // _PRR: Power Resource for Reset
                        {
                            WRST
                        })
                        Method (CFLR, 0, NotSerialized)
                        {
                            ADBG (Concatenate ("WiFi Core Reset, WFLR = ", WFLR))
                            If ((WFLR == One))
                            {
                                WIFR = One
                            }
                        }
                    }
                }
            }
        }

        Scope (_SB.PC02)
        {
            Method (TINT, 1, Serialized)
            {
                Name (TINR, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                CreateWordField (TINR, 0x17, INT1)
                INT1 = ^^PGPI.GNUM (Arg0)
                Return (TINR) /* \_SB_.PC02.TINT.TINR */
            }

            Device (THC0)
            {
                Name (_ADR, 0x00100000)  // _ADR: Address
                Name (RSTL, Zero)
                OperationRegion (THCR, PCI_Config, Zero, 0x0100)
                Field (THCR, ByteAcc, NoLock, Preserve)
                {
                    VDID,   32
                }

                If ((VDID != 0xFFFFFFFF))
                {
                    Name (ICRS, Buffer (0x0C){})
                    CreateWordField (ICRS, Zero, DADR)
                    CreateQWordField (ICRS, 0x02, DSPD)
                    CreateByteField (ICRS, 0x0A, DADM)
                    Name (ISUB, Buffer (0x91){})
                    CreateQWordField (ISUB, Zero, SMHX)
                    CreateQWordField (ISUB, 0x08, SMLX)
                    CreateQWordField (ISUB, 0x10, SMTD)
                    CreateQWordField (ISUB, 0x18, SMRD)
                    CreateQWordField (ISUB, 0x20, FMHX)
                    CreateQWordField (ISUB, 0x28, FMLX)
                    CreateQWordField (ISUB, 0x30, FMTD)
                    CreateQWordField (ISUB, 0x38, FMRD)
                    CreateQWordField (ISUB, 0x40, FMSL)
                    CreateQWordField (ISUB, 0x48, FPHX)
                    CreateQWordField (ISUB, 0x50, FPLX)
                    CreateQWordField (ISUB, 0x58, FPTD)
                    CreateQWordField (ISUB, 0x60, FPRD)
                    CreateQWordField (ISUB, 0x68, HMHX)
                    CreateQWordField (ISUB, 0x70, HMLX)
                    CreateQWordField (ISUB, 0x78, HMTD)
                    CreateQWordField (ISUB, 0x80, HMRD)
                    CreateQWordField (ISUB, 0x88, HMSL)
                    DADR = Zero
                    DSPD = Zero
                    DADM = Zero
                    SMHX = Zero
                    SMLX = Zero
                    SMTD = Zero
                    SMRD = Zero
                    FMHX = Zero
                    FMLX = Zero
                    FMTD = Zero
                    FMRD = Zero
                    FMSL = Zero
                    FPHX = Zero
                    FPLX = Zero
                    FPTD = Zero
                    FPRD = Zero
                    HMHX = Zero
                    HMLX = Zero
                    HMTD = Zero
                    HMRD = Zero
                    HMSL = Zero
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If ((TMD0 == One))
                        {
                            If ((Arg0 == ToUUID ("6e2ac436-0fcf-41af-a265-b32a220dcfab") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Switch (ToInteger (Arg1))
                                        {
                                            Case (0x02)
                                            {
                                                Return (Buffer (One)
                                                {
                                                     0x7F                                             // .
                                                })
                                            }
                                            Default
                                            {
                                                Return (Buffer (One)
                                                {
                                                     0x00                                             // .
                                                })
                                            }

                                        }
                                    }
                                    Case (One)
                                    {
                                        ADBG ("THC THC_INPUT_REPORT_HEADER_ADDRESS")
                                        Return (ToInteger (T040))
                                    }
                                    Case (0x02)
                                    {
                                        ADBG ("THC THC_INPUT_REPORT_BODY_ADDRESS")
                                        Return (ToInteger (T050))
                                    }
                                    Case (0x03)
                                    {
                                        ADBG ("THC THC_OUTPUT_REPORT_ADDRESS")
                                        Return (ToInteger (T060))
                                    }
                                    Case (0x04)
                                    {
                                        ADBG ("THC THC_READ_OPCODE")
                                        Name (BUF4, Buffer (One){})
                                        Local0 = ToBuffer (T070)
                                        BUF4 [Zero] = DerefOf (Local0 [Zero])
                                        Return (BUF4) /* \_SB_.PC02.THC0._DSM.BUF4 */
                                    }
                                    Case (0x05)
                                    {
                                        ADBG ("THC THC_WRITE_OPCODE")
                                        Name (BUF5, Buffer (One){})
                                        Local1 = ToBuffer (T080)
                                        BUF5 [Zero] = DerefOf (Local1 [Zero])
                                        Return (BUF5) /* \_SB_.PC02.THC0._DSM.BUF5 */
                                    }
                                    Case (0x06)
                                    {
                                        ADBG ("THC THC_FLAGS")
                                        Return (ToInteger (T090))
                                    }
                                    Default
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00                                             // .
                                        })
                                    }

                                }

                                Return (Buffer (One)
                                {
                                     0x00                                             // .
                                })
                            }

                            If ((Arg0 == ToUUID ("300d35b7-ac20-413e-8e9c-92e4dafd0afe") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x07                                             // .
                                        })
                                    }
                                    Case (One)
                                    {
                                        ADBG ("THC THC_CONNECTION_SPEED")
                                        Return (ToInteger (T030))
                                    }
                                    Case (0x02)
                                    {
                                        ADBG ("THC THC_LIMIT_PACKET_SIZE")
                                        Return (ToInteger (T0C0))
                                    }
                                    Case (0x03)
                                    {
                                        ADBG ("THC THC_PERFORMANCE_LIMITATION")
                                        Return (ToInteger (T0D0))
                                    }
                                    Default
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00                                             // .
                                        })
                                    }

                                }
                            }
                        }

                        If ((Arg0 == ToUUID ("84005682-5b71-41a4-8d66-8130f787a138") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_ACTIVE_LTR")
                                    Return (ToInteger (T0A0))
                                }
                                Case (0x02)
                                {
                                    ADBG ("THC THC_IDLE_LTR")
                                    Return (ToInteger (T0B0))
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If ((Arg0 == ToUUID ("9b1e77c4-53db-43bd-a276-f7287604d1bd") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x01                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_DISPLAY_FRAME_SYNC_PERIOD")
                                    Return (ToInteger (T0E0))
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x01                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_HIDI2C_DEVICE_ADDRESS")
                                    Return (Zero)
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        Return (Buffer (Zero){})
                    }

                    If ((TIN0 != Zero))
                    {
                        Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Return (TINT (TIN0))
                        }
                    }

                    If ((TMD0 != Zero))
                    {
                        Method (_INI, 0, NotSerialized)  // _INI: Initialize
                        {
                            ADBG ("THC _INI")
                            ^^^PGPI.SHPO (T010, One)
                            ^^^PGPI.SPMV (T010, Zero)
                            ^^^PGPI.SPC0 (T010, (0x42000200 | (~(T020 & One) & One
                                )))
                            If (CondRefOf (^CINI))
                            {
                                CINI (T010, T0F0)
                            }
                        }

                        Method (_RST, 0, Serialized)  // _RST: Device Reset
                        {
                            ADBG ("THC _RST")
                            While ((RSTL == One))
                            {
                                Sleep (0x0A)
                            }

                            RSTL = One
                            ^^^PGPI.SGOV (T010, (T020 & One))
                            Sleep (T0F0)
                            ^^^PGPI.SGOV (T010, (~(T020 & One) & One))
                            RSTL = Zero
                        }

                        Name (_DSD, Package (0x04)  // _DSD: Device-Specific Data
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            ICRS, 
                            ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */, 
                            ISUB
                        })
                    }
                }
            }

            Device (THC1)
            {
                Name (_ADR, 0x00100001)  // _ADR: Address
                Name (RSTL, Zero)
                OperationRegion (THCR, PCI_Config, Zero, 0x0100)
                Field (THCR, ByteAcc, NoLock, Preserve)
                {
                    VDID,   32
                }

                If ((VDID != 0xFFFFFFFF))
                {
                    Name (ICRS, Buffer (0x0C){})
                    CreateWordField (ICRS, Zero, DADR)
                    CreateQWordField (ICRS, 0x02, DSPD)
                    CreateByteField (ICRS, 0x0A, DADM)
                    Name (ISUB, Buffer (0x91){})
                    CreateQWordField (ISUB, Zero, SMHX)
                    CreateQWordField (ISUB, 0x08, SMLX)
                    CreateQWordField (ISUB, 0x10, SMTD)
                    CreateQWordField (ISUB, 0x18, SMRD)
                    CreateQWordField (ISUB, 0x20, FMHX)
                    CreateQWordField (ISUB, 0x28, FMLX)
                    CreateQWordField (ISUB, 0x30, FMTD)
                    CreateQWordField (ISUB, 0x38, FMRD)
                    CreateQWordField (ISUB, 0x40, FMSL)
                    CreateQWordField (ISUB, 0x48, FPHX)
                    CreateQWordField (ISUB, 0x50, FPLX)
                    CreateQWordField (ISUB, 0x58, FPTD)
                    CreateQWordField (ISUB, 0x60, FPRD)
                    CreateQWordField (ISUB, 0x68, HMHX)
                    CreateQWordField (ISUB, 0x70, HMLX)
                    CreateQWordField (ISUB, 0x78, HMTD)
                    CreateQWordField (ISUB, 0x80, HMRD)
                    CreateQWordField (ISUB, 0x88, HMSL)
                    DADR = Zero
                    DSPD = Zero
                    DADM = Zero
                    SMHX = Zero
                    SMLX = Zero
                    SMTD = Zero
                    SMRD = Zero
                    FMHX = Zero
                    FMLX = Zero
                    FMTD = Zero
                    FMRD = Zero
                    FMSL = Zero
                    FPHX = Zero
                    FPLX = Zero
                    FPTD = Zero
                    FPRD = Zero
                    HMHX = Zero
                    HMLX = Zero
                    HMTD = Zero
                    HMRD = Zero
                    HMSL = Zero
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If ((TMD1 == One))
                        {
                            If ((Arg0 == ToUUID ("6e2ac436-0fcf-41af-a265-b32a220dcfab") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Switch (ToInteger (Arg1))
                                        {
                                            Case (0x02)
                                            {
                                                Return (Buffer (One)
                                                {
                                                     0x7F                                             // .
                                                })
                                            }
                                            Default
                                            {
                                                Return (Buffer (One)
                                                {
                                                     0x00                                             // .
                                                })
                                            }

                                        }
                                    }
                                    Case (One)
                                    {
                                        ADBG ("THC THC_INPUT_REPORT_HEADER_ADDRESS")
                                        Return (ToInteger (T041))
                                    }
                                    Case (0x02)
                                    {
                                        ADBG ("THC THC_INPUT_REPORT_BODY_ADDRESS")
                                        Return (ToInteger (T051))
                                    }
                                    Case (0x03)
                                    {
                                        ADBG ("THC THC_OUTPUT_REPORT_ADDRESS")
                                        Return (ToInteger (T061))
                                    }
                                    Case (0x04)
                                    {
                                        ADBG ("THC THC_READ_OPCODE")
                                        Name (BUF4, Buffer (One){})
                                        Local0 = ToBuffer (T071)
                                        BUF4 [Zero] = DerefOf (Local0 [Zero])
                                        Return (BUF4) /* \_SB_.PC02.THC1._DSM.BUF4 */
                                    }
                                    Case (0x05)
                                    {
                                        ADBG ("THC THC_WRITE_OPCODE")
                                        Name (BUF5, Buffer (One){})
                                        Local1 = ToBuffer (T081)
                                        BUF5 [Zero] = DerefOf (Local1 [Zero])
                                        Return (BUF5) /* \_SB_.PC02.THC1._DSM.BUF5 */
                                    }
                                    Case (0x06)
                                    {
                                        ADBG ("THC THC_FLAGS")
                                        Return (ToInteger (T091))
                                    }
                                    Default
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00                                             // .
                                        })
                                    }

                                }

                                Return (Buffer (One)
                                {
                                     0x00                                             // .
                                })
                            }

                            If ((Arg0 == ToUUID ("300d35b7-ac20-413e-8e9c-92e4dafd0afe") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x07                                             // .
                                        })
                                    }
                                    Case (One)
                                    {
                                        ADBG ("THC THC_CONNECTION_SPEED")
                                        Return (ToInteger (T031))
                                    }
                                    Case (0x02)
                                    {
                                        ADBG ("THC THC_LIMIT_PACKET_SIZE")
                                        Return (ToInteger (T0C1))
                                    }
                                    Case (0x03)
                                    {
                                        ADBG ("THC THC_PERFORMANCE_LIMITATION")
                                        Return (ToInteger (T0D1))
                                    }
                                    Default
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00                                             // .
                                        })
                                    }

                                }
                            }
                        }

                        If ((Arg0 == ToUUID ("84005682-5b71-41a4-8d66-8130f787a138") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_ACTIVE_LTR")
                                    Return (ToInteger (T0A1))
                                }
                                Case (0x02)
                                {
                                    ADBG ("THC THC_IDLE_LTR")
                                    Return (ToInteger (T0B1))
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If ((Arg0 == ToUUID ("9b1e77c4-53db-43bd-a276-f7287604d1bd") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x01                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_DISPLAY_FRAME_SYNC_PERIOD")
                                    Return (ToInteger (T0E1))
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x01                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_HIDI2C_DEVICE_ADDRESS")
                                    Return (Zero)
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        Return (Buffer (Zero){})
                    }

                    If ((TIN1 != Zero))
                    {
                        Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Return (TINT (TIN1))
                        }
                    }

                    If ((TMD1 != Zero))
                    {
                        Method (_INI, 0, NotSerialized)  // _INI: Initialize
                        {
                            ADBG ("THC _INI")
                            ^^^PGPI.SHPO (T011, One)
                            ^^^PGPI.SPMV (T011, Zero)
                            ^^^PGPI.SPC0 (T011, (0x42000200 | (~(T021 & One) & One
                                )))
                            If (CondRefOf (^CINI))
                            {
                                CINI (T011, T0F1)
                            }
                        }

                        Method (_RST, 0, Serialized)  // _RST: Device Reset
                        {
                            ADBG ("THC _RST")
                            While ((RSTL == One))
                            {
                                Sleep (0x0A)
                            }

                            RSTL = One
                            ^^^PGPI.SGOV (T011, (T021 & One))
                            Sleep (T0F1)
                            ^^^PGPI.SGOV (T011, (~(T021 & One) & One))
                            RSTL = Zero
                        }

                        Name (_DSD, Package (0x04)  // _DSD: Device-Specific Data
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            ICRS, 
                            ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */, 
                            ISUB
                        })
                    }
                }
            }
        }

        Scope (_SB)
        {
            Device (PGPI)
            {
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    If ((GPHD == One))
                    {
                        Return ("PNP0C02")
                    }

                    Return ("INTC1084")
                }

                Name (SBRG, Zero)
                SBRG = ^PC02.SBRG /* \_SB_.PC02.SBRG */
                Name (GEI0, Zero)
                GEI0 = ^PC02.GEI0 /* \_SB_.PC02.GEI0 */
                Name (GEI1, Zero)
                GEI1 = ^PC02.GEI1 /* \_SB_.PC02.GEI1 */
                Name (GEI2, Zero)
                GEI2 = ^PC02.GEI2 /* \_SB_.PC02.GEI2 */
                Name (GED0, Zero)
                GED0 = ^PC02.GED0 /* \_SB_.PC02.GED0 */
                Name (GED1, Zero)
                GED1 = ^PC02.GED1 /* \_SB_.PC02.GED1 */
                Name (GED2, Zero)
                GED2 = ^PC02.GED2 /* \_SB_.PC02.GED2 */
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (RBFS, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y44)
                        {
                            0x0000000E,
                        }
                        QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                            0x0000000000000000, // Granularity
                            0x0000000000000000, // Range Minimum
                            0x000000000000FFFF, // Range Maximum
                            0x0000000000000000, // Translation Offset
                            0x0000000000010000, // Length
                            ,, _Y45, AddressRangeMemory, TypeStatic)
                        QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                            0x0000000000000000, // Granularity
                            0x0000000000000000, // Range Minimum
                            0x000000000000FFFF, // Range Maximum
                            0x0000000000000000, // Translation Offset
                            0x0000000000010000, // Length
                            ,, _Y46, AddressRangeMemory, TypeStatic)
                        QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                            0x0000000000000000, // Granularity
                            0x0000000000000000, // Range Minimum
                            0x000000000000FFFF, // Range Maximum
                            0x0000000000000000, // Translation Offset
                            0x0000000000010000, // Length
                            ,, _Y47, AddressRangeMemory, TypeStatic)
                        QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                            0x0000000000000000, // Granularity
                            0x0000000000000000, // Range Minimum
                            0x000000000000FFFF, // Range Maximum
                            0x0000000000000000, // Translation Offset
                            0x0000000000010000, // Length
                            ,, _Y48, AddressRangeMemory, TypeStatic)
                        QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                            0x0000000000000000, // Granularity
                            0x0000000000000000, // Range Minimum
                            0x000000000000FFFF, // Range Maximum
                            0x0000000000000000, // Translation Offset
                            0x0000000000010000, // Length
                            ,, _Y49, AddressRangeMemory, TypeStatic)
                    })
                    CreateDWordField (RBFS, \_SB.PGPI._CRS._Y44._INT, INTH)  // _INT: Interrupts
                    INTH = SGIR /* \SGIR */
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y45._MIN, CMN0)  // _MIN: Minimum Base Address
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y45._MAX, CMX0)  // _MAX: Maximum Base Address
                    CMN0 = (SBRG + 0x006E0000)
                    CMX0 = (CMN0 + 0xFFFF)
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y46._MIN, CMN1)  // _MIN: Minimum Base Address
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y46._MAX, CMX1)  // _MAX: Maximum Base Address
                    CMN1 = (SBRG + 0x006D0000)
                    CMX1 = (CMN1 + 0xFFFF)
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y47._MIN, CMN3)  // _MIN: Minimum Base Address
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y47._MAX, CMX3)  // _MAX: Maximum Base Address
                    CMN3 = (SBRG + 0x006B0000)
                    CMX3 = (CMN3 + 0xFFFF)
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y48._MIN, CMN4)  // _MIN: Minimum Base Address
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y48._MAX, CMX4)  // _MAX: Maximum Base Address
                    CMN4 = (SBRG + 0x006A0000)
                    CMX4 = (CMN4 + 0xFFFF)
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y49._MIN, CMN5)  // _MIN: Minimum Base Address
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y49._MAX, CMX5)  // _MAX: Maximum Base Address
                    CMN5 = (SBRG + 0x00690000)
                    CMX5 = (CMN5 + 0xFFFF)
                    Return (RBFS) /* \_SB_.PGPI._CRS.RBFS */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((GPHD == One))
                    {
                        Return (0x08)
                    }

                    Return (0x0F)
                }

                Name (GPCS, Package (0x06)
                {
                    Package (0x02)
                    {
                        0x006E0000, 
                        Package (0x04)
                        {
                            Package (0x09)
                            {
                                0x19, 
                                0x0600, 
                                0x0150, 
                                0xB0, 
                                0x0240, 
                                0x0110, 
                                0x0114, 
                                Zero, 
                                Zero
                            }, 

                            Package (0x09)
                            {
                                0x0E, 
                                0x0790, 
                                0x0154, 
                                0xC0, 
                                0x0244, 
                                0x0118, 
                                0x011C, 
                                0x20, 
                                One
                            }, 

                            Package (0x09)
                            {
                                0x12, 
                                0x0870, 
                                0x0158, 
                                0xC8, 
                                0x0248, 
                                0x0120, 
                                0x0124, 
                                0x40, 
                                0x02
                            }, 

                            Package (0x09)
                            {
                                0x1F, 
                                0x0990, 
                                0x015C, 
                                0xD4, 
                                0x024C, 
                                0x0128, 
                                0x012C, 
                                0x60, 
                                0x03
                            }
                        }
                    }, 

                    Package (0x02)
                    {
                        0x006D0000, 
                        Package (0x03)
                        {
                            Package (0x09)
                            {
                                0x0F, 
                                0x0600, 
                                0x0150, 
                                0xB0, 
                                0x0240, 
                                0x0110, 
                                0x0114, 
                                0x80, 
                                0x04
                            }, 

                            Package (0x09)
                            {
                                0x0C, 
                                0x0720, 
                                0x0154, 
                                0xB8, 
                                0x0244, 
                                0x0118, 
                                0x011C, 
                                0xA0, 
                                0x05
                            }, 

                            Package (0x09)
                            {
                                0x16, 
                                0x07B0, 
                                0x0158, 
                                0xC0, 
                                0x0248, 
                                0x0120, 
                                0x0124, 
                                0xC0, 
                                0x06
                            }
                        }
                    }, 

                    Package (0x02)
                    {
                        0x006C0000, 
                        Package (0x01)
                        {
                            Package (0x09)
                            {
                                0x11, 
                                0x0600, 
                                0x0150, 
                                0xB0, 
                                0x0240, 
                                0x0110, 
                                0x0114, 
                                0xFFFF, 
                                0xFFFF
                            }
                        }
                    }, 

                    Package (0x02)
                    {
                        0x006B0000, 
                        Package (0x06)
                        {
                            Package (0x09)
                            {
                                0x09, 
                                0x0600, 
                                0x0150, 
                                0xB0, 
                                0x0240, 
                                0x0110, 
                                0x0114, 
                                0xE0, 
                                0x08
                            }, 

                            Package (0x09)
                            {
                                0x18, 
                                0x0690, 
                                0x0154, 
                                0xB8, 
                                0x0244, 
                                0x0118, 
                                0x011C, 
                                0x0100, 
                                0x09
                            }, 

                            Package (0x09)
                            {
                                0x14, 
                                0x0810, 
                                0x0158, 
                                0xC4, 
                                0x0248, 
                                0x0120, 
                                0x0124, 
                                0x0120, 
                                0x0A
                            }, 

                            Package (0x09)
                            {
                                0x04, 
                                0x0950, 
                                0x015C, 
                                0xD0, 
                                0x024C, 
                                0x0128, 
                                0x012C, 
                                0x0140, 
                                0x0B
                            }, 

                            Package (0x09)
                            {
                                0x08, 
                                0x0990, 
                                0x0160, 
                                0xD4, 
                                0x0250, 
                                0x0130, 
                                0x0134, 
                                0x0160, 
                                0x0C
                            }, 

                            Package (0x09)
                            {
                                0x1F, 
                                0x0A10, 
                                0x0164, 
                                0xD8, 
                                0x0254, 
                                0x0138, 
                                0x013C, 
                                0x0180, 
                                0x0D
                            }
                        }
                    }, 

                    Package (0x02)
                    {
                        0x006A0000, 
                        Package (0x04)
                        {
                            Package (0x09)
                            {
                                0x08, 
                                0x0600, 
                                0x0150, 
                                0xB0, 
                                0x0240, 
                                0x0110, 
                                0x0114, 
                                0x01A0, 
                                0x0E
                            }, 

                            Package (0x09)
                            {
                                0x17, 
                                0x0680, 
                                0x0154, 
                                0xB4, 
                                0x0244, 
                                0x0118, 
                                0x011C, 
                                0x01C0, 
                                0x0F
                            }, 

                            Package (0x09)
                            {
                                0x0E, 
                                0x07F0, 
                                0x0158, 
                                0xC0, 
                                0x0248, 
                                0x0120, 
                                0x0124, 
                                0x01E0, 
                                0x10
                            }, 

                            Package (0x09)
                            {
                                0x18, 
                                0x08D0, 
                                0x015C, 
                                0xC8, 
                                0x024C, 
                                0x0128, 
                                0x012C, 
                                0x0200, 
                                0x11
                            }
                        }
                    }, 

                    Package (0x02)
                    {
                        0x00690000, 
                        Package (0x02)
                        {
                            Package (0x09)
                            {
                                0x15, 
                                0x0600, 
                                0x0150, 
                                0xB0, 
                                0x0240, 
                                0x0110, 
                                0x0114, 
                                0x0220, 
                                0x12
                            }, 

                            Package (0x09)
                            {
                                0x10, 
                                0x0750, 
                                0x0154, 
                                0xBC, 
                                0x0244, 
                                0x0118, 
                                0x011C, 
                                0x0240, 
                                0x13
                            }
                        }
                    }
                })
                Method (GDSC, 0, NotSerialized)
                {
                    Return (GPCS) /* \_SB_.PGPI.GPCS */
                }

                Method (GMXG, 0, NotSerialized)
                {
                    Return (0x14)
                }

                Method (GCMP, 1, NotSerialized)
                {
                    Local0 = GDSC ()
                    Return (DerefOf (DerefOf (Local0 [Arg0]) [Zero]))
                }

                Method (GINF, 3, NotSerialized)
                {
                    Local0 = GDSC ()
                    Return (DerefOf (DerefOf (DerefOf (DerefOf (Local0 [Arg0]) [
                        One]) [Arg1]) [Arg2]))
                }

                Method (GCOM, 1, Serialized)
                {
                    Local0 = ((Arg0 >> 0x0A) & 0x07)
                    Return (Local0)
                }

                Method (GGRP, 1, Serialized)
                {
                    Local0 = ((Arg0 >> 0x07) & 0x07)
                    Return (Local0)
                }

                Method (GNMB, 1, Serialized)
                {
                    Return ((Arg0 & 0x7F))
                }

                Method (GADR, 2, NotSerialized)
                {
                    Local2 = GGRP (Arg0)
                    Local3 = GCOM (Arg0)
                    Local0 = (GCMP (Local3) + SBRG)
                    Local1 = GINF (Local3, Local2, Arg1)
                    Return ((Local0 + Local1))
                }

                Method (GNUM, 1, NotSerialized)
                {
                    Local0 = GNMB (Arg0)
                    Local1 = GGRP (Arg0)
                    Local2 = GCOM (Arg0)
                    Return ((GINF (Local2, Local1, 0x07) + Local0))
                }

                Method (GGGP, 1, NotSerialized)
                {
                    Local0 = GGRP (Arg0)
                    Local1 = GCOM (Arg0)
                    Return (GINF (Local1, Local0, 0x08))
                }

                Method (INUM, 1, NotSerialized)
                {
                    Return ((GPC1 (Arg0) & 0x7F))
                }

                Method (GGPE, 1, NotSerialized)
                {
                    Local0 = GGGP (Arg0)
                    Local1 = GNMB (Arg0)
                    Local2 = (Local1 >> 0x05)
                    If (!((((GEI0 == Local0) && (GED0 == Local2)) | (
                        (GEI1 == Local0) && (GED1 == Local2))) | ((GEI2 == Local0) && (GED2 == 
                        Local2))))
                    {
                        Return (0x6F)
                    }
                    Else
                    {
                        If (((GEI0 == Local0) && (GED0 == Local2)))
                        {
                            Local3 = Zero
                        }
                        ElseIf (((GEI1 == Local0) && (GED1 == Local2)))
                        {
                            Local3 = One
                        }
                        ElseIf (((GEI2 == Local0) && (GED2 == Local2)))
                        {
                            Local3 = 0x02
                        }
                        Else
                        {
                            BreakPoint
                            Return (Zero)
                        }

                        Return ((((Local3 - Local2) * 0x20) + Local1))
                    }
                }

                Method (GPC0, 1, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    Return (TEMP) /* \_SB_.PGPI.GPC0.TEMP */
                }

                Method (SPC0, 2, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    TEMP = Arg1
                }

                Method (GPC1, 1, Serialized)
                {
                    Local2 = ((GADR (Arg0, One) + (GNMB (Arg0) * 0x10)
                        ) + 0x04)
                    OperationRegion (PDW1, SystemMemory, Local2, 0x04)
                    Field (PDW1, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    Return (TEMP) /* \_SB_.PGPI.GPC1.TEMP */
                }

                Method (SPC1, 2, Serialized)
                {
                    Local2 = ((GADR (Arg0, One) + (GNMB (Arg0) * 0x10)
                        ) + 0x04)
                    OperationRegion (PDW1, SystemMemory, Local2, 0x04)
                    Field (PDW1, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    TEMP = Arg1
                }

                Method (SRXO, 2, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   28, 
                        TEMP,   1, 
                        Offset (0x04)
                    }

                    TEMP = Arg1
                }

                Method (GGIV, 1, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   1, 
                        TEMP,   1, 
                        Offset (0x04)
                    }

                    Return (TEMP) /* \_SB_.PGPI.GGIV.TEMP */
                }

                Method (GGOV, 1, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   1, 
                        Offset (0x04)
                    }

                    Return (TEMP) /* \_SB_.PGPI.GGOV.TEMP */
                }

                Method (SGOV, 2, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   1, 
                        Offset (0x04)
                    }

                    TEMP = Arg1
                }

                Method (GGII, 1, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   23, 
                        TEMP,   1, 
                        Offset (0x04)
                    }

                    Return (TEMP) /* \_SB_.PGPI.GGII.TEMP */
                }

                Method (SGII, 2, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   23, 
                        TEMP,   1, 
                        Offset (0x04)
                    }

                    TEMP = Arg1
                }

                Method (GPMV, 1, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   10, 
                        TEMP,   3, 
                        Offset (0x04)
                    }

                    Return (TEMP) /* \_SB_.PGPI.GPMV.TEMP */
                }

                Method (SPMV, 2, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   10, 
                        TEMP,   3, 
                        Offset (0x04)
                    }

                    TEMP = Arg1
                }

                Method (GHPO, 1, Serialized)
                {
                    Local1 = GNMB (Arg0)
                    Local3 = (GADR (Arg0, 0x02) + ((Local1 >> 0x05) * 0x04))
                    Local4 = (Local1 & 0x1F)
                    OperationRegion (PREG, SystemMemory, Local3, 0x04)
                    Field (PREG, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    Return (((TEMP >> Local4) & One))
                }

                Method (SHPO, 2, Serialized)
                {
                    Local1 = GNMB (Arg0)
                    ADBG ("Pad number")
                    ADBG (ToHexString (Local1))
                    Local3 = (GADR (Arg0, 0x02) + ((Local1 >> 0x05) * 0x04))
                    ADBG ("HOST owner offset")
                    ADBG (ToHexString (Local3))
                    Local4 = (Local1 & 0x1F)
                    ADBG ("Pad position")
                    ADBG (ToHexString (Local4))
                    OperationRegion (PREG, SystemMemory, Local3, 0x04)
                    Field (PREG, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    ADBG ("HOST own before")
                    ADBG (ToHexString (TEMP))
                    If (Arg1)
                    {
                        TEMP |= (One << Local4)
                    }
                    Else
                    {
                        TEMP &= ~(One << Local4)
                    }

                    ADBG ("HOST own after")
                    ADBG (ToHexString (TEMP))
                }

                Method (GGPO, 1, Serialized)
                {
                    Local1 = GNMB (Arg0)
                    Local2 = (GADR (Arg0, 0x03) + ((Local1 >> 0x03) * 0x04
                        ))
                    OperationRegion (PREG, SystemMemory, Local2, 0x04)
                    Field (PREG, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    Return (((TEMP >> ((Local1 & 0x07) * 0x04)) & 
                        0x03))
                }

                Method (SGRA, 2, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   20, 
                        TEMP,   1, 
                        Offset (0x04)
                    }

                    TEMP = Arg1
                }

                Method (SGWP, 2, Serialized)
                {
                    Local2 = ((GADR (Arg0, One) + (GNMB (Arg0) * 0x10)
                        ) + 0x04)
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   10, 
                        TEMP,   4, 
                        Offset (0x04)
                    }

                    TEMP = Arg1
                }

                Method (CGPI, 1, Serialized)
                {
                    Local1 = GNMB (Arg0)
                    ADBG ("Pad number")
                    ADBG (ToHexString (Local1))
                    Local4 = (Local1 >> 0x05)
                    ADBG ("Group DW")
                    ADBG (ToHexString (Local4))
                    Local3 = GADR (Arg0, 0x04)
                    ADBG ("Reg offset")
                    ADBG (ToHexString (Local3))
                    If (((Local3 & 0xFFFF) != 0xFFFF))
                    {
                        ADBG ("Clearing GPI")
                        OperationRegion (GPPX, SystemMemory, (Local3 + (Local4 * 0x04)), 0x04)
                        Field (GPPX, AnyAcc, NoLock, Preserve)
                        {
                            STSX,   32
                        }

                        Local2 = (One << (Local1 % 0x20))
                        ADBG ("STSX before")
                        ADBG (ToHexString (STSX))
                        STSX = Local2
                        ADBG ("STSX after")
                        ADBG (ToHexString (STSX))
                    }
                }

                Method (CAGS, 1, Serialized)
                {
                    Local0 = GGGP (Arg0)
                    Local1 = GNMB (Arg0)
                    Local4 = (Local1 >> 0x05)
                    If (!((((GEI0 == Local0) && (GED0 == Local4)) | (
                        (GEI1 == Local0) && (GED1 == Local4))) | ((GEI2 == Local0) && (GED2 == 
                        Local4))))
                    {
                        Local3 = GADR (Arg0, 0x04)
                        If (((Local3 & 0xFFFF) != 0xFFFF))
                        {
                            OperationRegion (GPPX, SystemMemory, (Local3 + (Local4 * 0x04)), 0x04)
                            Field (GPPX, AnyAcc, NoLock, Preserve)
                            {
                                STSX,   32
                            }

                            Local2 = (One << (Local1 % 0x20))
                            STSX = Local2
                        }
                    }
                }

                Method (IGPI, 1, Serialized)
                {
                    Local1 = GNMB (Arg0)
                    Local4 = (Local1 >> 0x05)
                    If (((GADR (Arg0, 0x04) & 0xFFFF) == 0xFFFF))
                    {
                        Return (Zero)
                    }

                    Local2 = (GADR (Arg0, 0x04) + (Local4 * 0x04))
                    Local3 = (Local1 & 0x1F)
                    OperationRegion (GPPX, SystemMemory, Local2, 0x24)
                    Field (GPPX, AnyAcc, NoLock, Preserve)
                    {
                        STSX,   32, 
                        Offset (0x20), 
                        GENX,   32
                    }

                    Return ((((STSX & GENX) >> Local3) & One))
                }

                Method (ISME, 1, Serialized)
                {
                    Local0 = GGGP (Arg0)
                    Local1 = GNMB (Arg0)
                    Local4 = (Local1 >> 0x05)
                    If (!!((((GEI0 == Local0) && (GED0 == Local4)) | 
                        ((GEI1 == Local0) && (GED1 == Local4))) | ((GEI2 == Local0) && (
                        GED2 == Local4))))
                    {
                        Return (Zero)
                    }

                    If (((GADR (Arg0, 0x04) & 0xFFFF) == 0xFFFF))
                    {
                        Return (Zero)
                    }

                    Local2 = (GADR (Arg0, 0x04) + (Local4 * 0x04))
                    Local3 = (Local1 & 0x1F)
                    OperationRegion (GPPX, SystemMemory, Local2, 0x24)
                    Field (GPPX, AnyAcc, NoLock, Preserve)
                    {
                        STSX,   32, 
                        Offset (0x20), 
                        GENX,   32
                    }

                    Return ((((STSX & GENX) >> Local3) & One))
                }

                Method (GRXE, 2, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   25, 
                        RCFG,   2, 
                        Offset (0x04)
                    }

                    RCFG = Arg1
                }

                Method (GLOC, 2, Serialized)
                {
                    Local1 = GNMB (Arg0)
                    Local2 = GADR (Arg0, 0x05)
                    OperationRegion (PREG, SystemMemory, Local2, 0x04)
                    Field (PREG, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    Return (((TEMP >> Local1) & One))
                }

                Method (GLOT, 2, Serialized)
                {
                    Local1 = GNMB (Arg0)
                    Local2 = GADR (Arg0, 0x06)
                    OperationRegion (PREG, SystemMemory, Local2, 0x04)
                    Field (PREG, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    Return (((TEMP >> Local1) & One))
                }
            }
        }

        Scope (_SB)
        {
            Device (PCLK)
            {
                Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
                Name (_UID, "PCHCLK")  // _UID: Unique ID
                Name (PID, 0xAD)
                Method (CLKD, 1, NotSerialized)
                {
                    If ((Arg0 > 0x06))
                    {
                        Local1 = (Arg0 + One)
                        Local1 -= 0x07
                        ^^PC02.SBPC.PCRA (PID, 0x8084, ~(One << Local1))
                    }
                    Else
                    {
                        Local1 = (Arg0 + 0x02)
                        ^^PC02.SBPC.PCRA (PID, 0x8080, ~(One << Local1))
                    }
                }

                Method (CLKE, 1, NotSerialized)
                {
                    If ((Arg0 > 0x06))
                    {
                        Local1 = (Arg0 + One)
                        Local1 -= 0x07
                        ^^PC02.SBPC.PCRO (PID, 0x8084, (One << Local1))
                    }
                    Else
                    {
                        Local1 = (Arg0 + 0x02)
                        ^^PC02.SBPC.PCRO (PID, 0x8080, (One << Local1))
                    }
                }

                Method (SPCO, 2, NotSerialized)
                {
                    ADBG ("Calling SPCO method to configure PCH PCIe ClkReq Override")
                    If ((Arg1 == One))
                    {
                        CLKE (Arg0)
                    }
                    Else
                    {
                        CLKD (Arg0)
                    }
                }
            }
        }
    }

    Scope (_SB.PC00)
    {
        Device (RP01)
        {
            Name (PBNU, Zero)
            Method (_ADR, 0, NotSerialized)  // _ADR: Address
            {
                If ((RPA1 != Zero))
                {
                    Return (RPA1) /* \RPA1 */
                }
                Else
                {
                    Return (0x001C0000)
                }
            }

            Name (SLOT, One)
            Name (PRTP, 0x02)
            Name (LTEN, Zero)
            Name (LMSL, Zero)
            Name (LNSL, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                LTEN = LTR1 /* \LTR1 */
                LMSL = PML1 /* \PML1 */
                LNSL = PNL1 /* \PNL1 */
                If ((CondRefOf (VMSP) && CondRefOf (VMDE)))
                {
                    If (((VMDE == One) && ((VMSP & 0x0100) != Zero)))
                    {
                        ADBG ("RP01 (0/28/0) is mapped under VMD")
                        PRMV = One
                    }
                }

                If (PRES ())
                {
                    If (CondRefOf (PINI))
                    {
                        PINI ()
                    }
                }

                If (CondRefOf (\_SB.PC00.RP01))
                {
                    If ((VDID != 0xFFFFFFFF))
                    {
                        If (CondRefOf (\STD3))
                        {
                            If (CondRefOf (\_SB.PC00.RP01.PRMV))
                            {
                                If ((PRMV == One))
                                {
                                    ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }

                            If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                            {
                                ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                RD3C = STD3 /* \STD3 */
                            }
                        }
                    }
                }
            }

            OperationRegion (PXCS, SystemMemory, PC2M (_ADR (), PBNU), 0x0480)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x50), 
                L0SE,   1, 
                    ,   3, 
                LDIS,   1, 
                Offset (0x51), 
                Offset (0x52), 
                    ,   13, 
                LASX,   1, 
                Offset (0x5A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                Offset (0x5B), 
                Offset (0x60), 
                Offset (0x62), 
                PSPX,   1, 
                Offset (0x68), 
                    ,   10, 
                LNRE,   1, 
                Offset (0xA4), 
                D3HT,   2, 
                Offset (0xD8), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1, 
                Offset (0xE0), 
                SCB0,   1, 
                    ,   6, 
                NCB7,   1, 
                Offset (0xE2), 
                    ,   2, 
                L23E,   1, 
                L23R,   1, 
                Offset (0x328), 
                Offset (0x32B), 
                LTSM,   8, 
                Offset (0x404), 
                LSOE,   1, 
                LNSE,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                Offset (0xDC), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Method (L23D, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                If ((SCB0 != One))
                {
                    ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                    Return (Zero)
                }

                L23R = One
                Local0 = Zero
                While (L23R)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                SCB0 = Zero
                Local0 = Zero
                While ((LASX == Zero))
                {
                    If ((Local0 > 0x08))
                    {
                        ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
            }

            Method (DL23, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                If (((LASX == One) && (LNRE == Zero)))
                {
                    If (((LSOE == One) || (LNSE == One)))
                    {
                        LNRE = One
                        Sleep (One)
                        LNRE = Zero
                        ADBG ("Toggle LNRE")
                    }
                }

                L23E = One
                Sleep (0x10)
                Local0 = Zero
                While (L23E)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                SCB0 = One
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
            }

            Name (LTRV, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (PRMV, Zero)
            Name (RD3C, 0x02)
            Method (PRES, 0, NotSerialized)
            {
                If ((VDID == 0xFFFFFFFF))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (One)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            Name (OPTS, Buffer (0x02)
                            {
                                 0x00, 0x00                                       // ..
                            })
                            CreateBitField (OPTS, Zero, FUN0)
                            CreateBitField (OPTS, 0x06, FUN6)
                            CreateBitField (OPTS, 0x08, FUN8)
                            CreateBitField (OPTS, 0x09, FUN9)
                            CreateBitField (OPTS, 0x0A, FUNA)
                            CreateBitField (OPTS, 0x0B, FUNB)
                            If ((Arg1 >= 0x02))
                            {
                                FUN0 = One
                                If ((LTEN != Zero))
                                {
                                    FUN6 = One
                                }

                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            FUN8 = One
                                            FUN9 = One
                                        }
                                    }
                                }
                            }

                            If ((Arg1 >= 0x04))
                            {
                                If (CondRefOf (PPBA))
                                {
                                    FUNA = One
                                }

                                If (CondRefOf (UPRD))
                                {
                                    FUNB = One
                                }
                            }

                            ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                            Return (OPTS) /* \_SB_.PC00.RP01._DSM.OPTS */
                        }
                        Case (0x06)
                        {
                            If ((Arg1 >= 0x02))
                            {
                                LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                LTRV [One] = (LMSL & 0x03FF)
                                LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                LTRV [0x03] = (LNSL & 0x03FF)
                                Return (LTRV) /* \_SB_.PC00.RP01.LTRV */
                            }
                        }
                        Case (0x08)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                        }
                        Case (0x09)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350, 
                                            Ones, 
                                            Ones, 
                                            0xC350, 
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                        Case (0x0A)
                        {
                            If (CondRefOf (PPBA))
                            {
                                Return (PPBA (Arg3))
                            }
                        }
                        Case (0x0B)
                        {
                            If (CondRefOf (UPRD))
                            {
                                Return (UPRD (Arg3))
                            }
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                Field (PCCX, ByteAcc, NoLock, Preserve)
                {
                    DVID,   32, 
                    Offset (0x09), 
                    PIXX,   8, 
                    SCCX,   8, 
                    BCCX,   8
                }

                Method (PAHC, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x06))
                        {
                            If ((PIXX == One))
                            {
                                ADBG ("PSSD AHCI")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PNVM, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x08))
                        {
                            If ((PIXX == 0x02))
                            {
                                ADBG ("PSSD NVMe")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PRES, 0, Serialized)
                {
                    If ((DVID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (ISGX, 0, Serialized)
                {
                    If ((BCCX == 0x03))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                        {
                            If ((PAHC () || PNVM ()))
                            {
                                ADBG ("NVMe D3 Support Enable for Child Device")
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            One
                                        }
                                    }
                                })
                            }
                            Else
                            {
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            Zero
                                        }
                                    }
                                })
                            }
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0xC0, 0x04))
                        }
                    }

                    Return (GPRW (0x69, 0x04))
                }
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS0))
                {
                    ADBG ("Calling Platform PCIE RP PS0 Hook")
                    PPS0 ()
                    ADBG ("Returned from Platform PCIE RP PS0 Hook")
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS3))
                {
                    ADBG ("Calling Platform PCIE RP PS3 Hook")
                    PPS3 ()
                    ADBG ("Returned from Platform PCIE RP PS3 Hook")
                }
            }

            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (ADSD))
                {
                    ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                    Return (ADSD ())
                }

                If (CondRefOf (PINI))
                {
                    Return (Package (0x04)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }, 

                        ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                        Package (0x00){}
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }
                    })
                }
            }

            Method (HPME, 0, Serialized)
            {
                If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                {
                    Notify (PXSX, 0x02) // Device Wake
                    PMSX = One
                    PSPX = One
                }
            }

            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (CondRefOf (PICM))
                {
                    If (PICM)
                    {
                        Return (AR04 ())
                    }
                }

                Return (PD04 ())
            }
        }

        Device (RP02)
        {
            Name (PBNU, Zero)
            Method (_ADR, 0, NotSerialized)  // _ADR: Address
            {
                If ((RPA2 != Zero))
                {
                    Return (RPA2) /* \RPA2 */
                }
                Else
                {
                    Return (0x001C0001)
                }
            }

            Name (SLOT, 0x02)
            Name (PRTP, 0x02)
            Name (LTEN, Zero)
            Name (LMSL, Zero)
            Name (LNSL, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                LTEN = LTR2 /* \LTR2 */
                LMSL = PML2 /* \PML2 */
                LNSL = PNL2 /* \PNL2 */
                If ((CondRefOf (VMSP) && CondRefOf (VMDE)))
                {
                    If (((VMDE == One) && ((VMSP & 0x0200) != Zero)))
                    {
                        ADBG ("RP02 (0/28/1) is mapped under VMD")
                        PRMV = One
                    }
                }

                If (PRES ())
                {
                    If (CondRefOf (PINI))
                    {
                        PINI ()
                    }
                }

                If (CondRefOf (\_SB.PC00.RP02))
                {
                    If ((VDID != 0xFFFFFFFF))
                    {
                        If (CondRefOf (\STD3))
                        {
                            If (CondRefOf (\_SB.PC00.RP02.PRMV))
                            {
                                If ((PRMV == One))
                                {
                                    ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }

                            If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                            {
                                ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                RD3C = STD3 /* \STD3 */
                            }
                        }
                    }
                }
            }

            OperationRegion (PXCS, SystemMemory, PC2M (_ADR (), PBNU), 0x0480)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x50), 
                L0SE,   1, 
                    ,   3, 
                LDIS,   1, 
                Offset (0x51), 
                Offset (0x52), 
                    ,   13, 
                LASX,   1, 
                Offset (0x5A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                Offset (0x5B), 
                Offset (0x60), 
                Offset (0x62), 
                PSPX,   1, 
                Offset (0x68), 
                    ,   10, 
                LNRE,   1, 
                Offset (0xA4), 
                D3HT,   2, 
                Offset (0xD8), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1, 
                Offset (0xE0), 
                SCB0,   1, 
                    ,   6, 
                NCB7,   1, 
                Offset (0xE2), 
                    ,   2, 
                L23E,   1, 
                L23R,   1, 
                Offset (0x328), 
                Offset (0x32B), 
                LTSM,   8, 
                Offset (0x404), 
                LSOE,   1, 
                LNSE,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                Offset (0xDC), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Method (L23D, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                If ((SCB0 != One))
                {
                    ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                    Return (Zero)
                }

                L23R = One
                Local0 = Zero
                While (L23R)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                SCB0 = Zero
                Local0 = Zero
                While ((LASX == Zero))
                {
                    If ((Local0 > 0x08))
                    {
                        ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
            }

            Method (DL23, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                If (((LASX == One) && (LNRE == Zero)))
                {
                    If (((LSOE == One) || (LNSE == One)))
                    {
                        LNRE = One
                        Sleep (One)
                        LNRE = Zero
                        ADBG ("Toggle LNRE")
                    }
                }

                L23E = One
                Sleep (0x10)
                Local0 = Zero
                While (L23E)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                SCB0 = One
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
            }

            Name (LTRV, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (PRMV, Zero)
            Name (RD3C, 0x02)
            Method (PRES, 0, NotSerialized)
            {
                If ((VDID == 0xFFFFFFFF))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (One)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            Name (OPTS, Buffer (0x02)
                            {
                                 0x00, 0x00                                       // ..
                            })
                            CreateBitField (OPTS, Zero, FUN0)
                            CreateBitField (OPTS, 0x06, FUN6)
                            CreateBitField (OPTS, 0x08, FUN8)
                            CreateBitField (OPTS, 0x09, FUN9)
                            CreateBitField (OPTS, 0x0A, FUNA)
                            CreateBitField (OPTS, 0x0B, FUNB)
                            If ((Arg1 >= 0x02))
                            {
                                FUN0 = One
                                If ((LTEN != Zero))
                                {
                                    FUN6 = One
                                }

                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            FUN8 = One
                                            FUN9 = One
                                        }
                                    }
                                }
                            }

                            If ((Arg1 >= 0x04))
                            {
                                If (CondRefOf (PPBA))
                                {
                                    FUNA = One
                                }

                                If (CondRefOf (UPRD))
                                {
                                    FUNB = One
                                }
                            }

                            ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                            Return (OPTS) /* \_SB_.PC00.RP02._DSM.OPTS */
                        }
                        Case (0x06)
                        {
                            If ((Arg1 >= 0x02))
                            {
                                LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                LTRV [One] = (LMSL & 0x03FF)
                                LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                LTRV [0x03] = (LNSL & 0x03FF)
                                Return (LTRV) /* \_SB_.PC00.RP02.LTRV */
                            }
                        }
                        Case (0x08)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                        }
                        Case (0x09)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350, 
                                            Ones, 
                                            Ones, 
                                            0xC350, 
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                        Case (0x0A)
                        {
                            If (CondRefOf (PPBA))
                            {
                                Return (PPBA (Arg3))
                            }
                        }
                        Case (0x0B)
                        {
                            If (CondRefOf (UPRD))
                            {
                                Return (UPRD (Arg3))
                            }
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                Field (PCCX, ByteAcc, NoLock, Preserve)
                {
                    DVID,   32, 
                    Offset (0x09), 
                    PIXX,   8, 
                    SCCX,   8, 
                    BCCX,   8
                }

                Method (PAHC, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x06))
                        {
                            If ((PIXX == One))
                            {
                                ADBG ("PSSD AHCI")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PNVM, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x08))
                        {
                            If ((PIXX == 0x02))
                            {
                                ADBG ("PSSD NVMe")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PRES, 0, Serialized)
                {
                    If ((DVID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (ISGX, 0, Serialized)
                {
                    If ((BCCX == 0x03))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                        {
                            If ((PAHC () || PNVM ()))
                            {
                                ADBG ("NVMe D3 Support Enable for Child Device")
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            One
                                        }
                                    }
                                })
                            }
                            Else
                            {
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            Zero
                                        }
                                    }
                                })
                            }
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0xC0, 0x04))
                        }
                    }

                    Return (GPRW (0x69, 0x04))
                }
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS0))
                {
                    ADBG ("Calling Platform PCIE RP PS0 Hook")
                    PPS0 ()
                    ADBG ("Returned from Platform PCIE RP PS0 Hook")
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS3))
                {
                    ADBG ("Calling Platform PCIE RP PS3 Hook")
                    PPS3 ()
                    ADBG ("Returned from Platform PCIE RP PS3 Hook")
                }
            }

            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (ADSD))
                {
                    ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                    Return (ADSD ())
                }

                If (CondRefOf (PINI))
                {
                    Return (Package (0x04)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }, 

                        ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                        Package (0x00){}
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }
                    })
                }
            }

            Method (HPME, 0, Serialized)
            {
                If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                {
                    Notify (PXSX, 0x02) // Device Wake
                    PMSX = One
                    PSPX = One
                }
            }

            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (CondRefOf (PICM))
                {
                    If (PICM)
                    {
                        Return (AR05 ())
                    }
                }

                Return (PD05 ())
            }
        }

        Device (RP03)
        {
            Name (PBNU, Zero)
            Method (_ADR, 0, NotSerialized)  // _ADR: Address
            {
                If ((RPA3 != Zero))
                {
                    Return (RPA3) /* \RPA3 */
                }
                Else
                {
                    Return (0x001C0002)
                }
            }

            Name (SLOT, 0x03)
            Name (PRTP, 0x02)
            Name (LTEN, Zero)
            Name (LMSL, Zero)
            Name (LNSL, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                LTEN = LTR3 /* \LTR3 */
                LMSL = PML3 /* \PML3 */
                LNSL = PNL3 /* \PNL3 */
                If ((CondRefOf (VMSP) && CondRefOf (VMDE)))
                {
                    If (((VMDE == One) && ((VMSP & 0x0400) != Zero)))
                    {
                        ADBG ("RP03 (0/28/2) is mapped under VMD")
                        PRMV = One
                    }
                }

                If (PRES ())
                {
                    If (CondRefOf (PINI))
                    {
                        PINI ()
                    }
                }

                If (CondRefOf (\_SB.PC00.RP03))
                {
                    If ((VDID != 0xFFFFFFFF))
                    {
                        If (CondRefOf (\STD3))
                        {
                            If (CondRefOf (\_SB.PC00.RP03.PRMV))
                            {
                                If ((PRMV == One))
                                {
                                    ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }

                            If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                            {
                                ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                RD3C = STD3 /* \STD3 */
                            }
                        }
                    }
                }
            }

            OperationRegion (PXCS, SystemMemory, PC2M (_ADR (), PBNU), 0x0480)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x50), 
                L0SE,   1, 
                    ,   3, 
                LDIS,   1, 
                Offset (0x51), 
                Offset (0x52), 
                    ,   13, 
                LASX,   1, 
                Offset (0x5A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                Offset (0x5B), 
                Offset (0x60), 
                Offset (0x62), 
                PSPX,   1, 
                Offset (0x68), 
                    ,   10, 
                LNRE,   1, 
                Offset (0xA4), 
                D3HT,   2, 
                Offset (0xD8), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1, 
                Offset (0xE0), 
                SCB0,   1, 
                    ,   6, 
                NCB7,   1, 
                Offset (0xE2), 
                    ,   2, 
                L23E,   1, 
                L23R,   1, 
                Offset (0x328), 
                Offset (0x32B), 
                LTSM,   8, 
                Offset (0x404), 
                LSOE,   1, 
                LNSE,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                Offset (0xDC), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Method (L23D, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                If ((SCB0 != One))
                {
                    ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                    Return (Zero)
                }

                L23R = One
                Local0 = Zero
                While (L23R)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                SCB0 = Zero
                Local0 = Zero
                While ((LASX == Zero))
                {
                    If ((Local0 > 0x08))
                    {
                        ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
            }

            Method (DL23, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                If (((LASX == One) && (LNRE == Zero)))
                {
                    If (((LSOE == One) || (LNSE == One)))
                    {
                        LNRE = One
                        Sleep (One)
                        LNRE = Zero
                        ADBG ("Toggle LNRE")
                    }
                }

                L23E = One
                Sleep (0x10)
                Local0 = Zero
                While (L23E)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                SCB0 = One
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
            }

            Name (LTRV, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (PRMV, Zero)
            Name (RD3C, 0x02)
            Method (PRES, 0, NotSerialized)
            {
                If ((VDID == 0xFFFFFFFF))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (One)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            Name (OPTS, Buffer (0x02)
                            {
                                 0x00, 0x00                                       // ..
                            })
                            CreateBitField (OPTS, Zero, FUN0)
                            CreateBitField (OPTS, 0x06, FUN6)
                            CreateBitField (OPTS, 0x08, FUN8)
                            CreateBitField (OPTS, 0x09, FUN9)
                            CreateBitField (OPTS, 0x0A, FUNA)
                            CreateBitField (OPTS, 0x0B, FUNB)
                            If ((Arg1 >= 0x02))
                            {
                                FUN0 = One
                                If ((LTEN != Zero))
                                {
                                    FUN6 = One
                                }

                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            FUN8 = One
                                            FUN9 = One
                                        }
                                    }
                                }
                            }

                            If ((Arg1 >= 0x04))
                            {
                                If (CondRefOf (PPBA))
                                {
                                    FUNA = One
                                }

                                If (CondRefOf (UPRD))
                                {
                                    FUNB = One
                                }
                            }

                            ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                            Return (OPTS) /* \_SB_.PC00.RP03._DSM.OPTS */
                        }
                        Case (0x06)
                        {
                            If ((Arg1 >= 0x02))
                            {
                                LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                LTRV [One] = (LMSL & 0x03FF)
                                LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                LTRV [0x03] = (LNSL & 0x03FF)
                                Return (LTRV) /* \_SB_.PC00.RP03.LTRV */
                            }
                        }
                        Case (0x08)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                        }
                        Case (0x09)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350, 
                                            Ones, 
                                            Ones, 
                                            0xC350, 
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                        Case (0x0A)
                        {
                            If (CondRefOf (PPBA))
                            {
                                Return (PPBA (Arg3))
                            }
                        }
                        Case (0x0B)
                        {
                            If (CondRefOf (UPRD))
                            {
                                Return (UPRD (Arg3))
                            }
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                Field (PCCX, ByteAcc, NoLock, Preserve)
                {
                    DVID,   32, 
                    Offset (0x09), 
                    PIXX,   8, 
                    SCCX,   8, 
                    BCCX,   8
                }

                Method (PAHC, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x06))
                        {
                            If ((PIXX == One))
                            {
                                ADBG ("PSSD AHCI")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PNVM, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x08))
                        {
                            If ((PIXX == 0x02))
                            {
                                ADBG ("PSSD NVMe")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PRES, 0, Serialized)
                {
                    If ((DVID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (ISGX, 0, Serialized)
                {
                    If ((BCCX == 0x03))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                        {
                            If ((PAHC () || PNVM ()))
                            {
                                ADBG ("NVMe D3 Support Enable for Child Device")
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            One
                                        }
                                    }
                                })
                            }
                            Else
                            {
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            Zero
                                        }
                                    }
                                })
                            }
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0xC0, 0x04))
                        }
                    }

                    Return (GPRW (0x69, 0x04))
                }
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS0))
                {
                    ADBG ("Calling Platform PCIE RP PS0 Hook")
                    PPS0 ()
                    ADBG ("Returned from Platform PCIE RP PS0 Hook")
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS3))
                {
                    ADBG ("Calling Platform PCIE RP PS3 Hook")
                    PPS3 ()
                    ADBG ("Returned from Platform PCIE RP PS3 Hook")
                }
            }

            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (ADSD))
                {
                    ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                    Return (ADSD ())
                }

                If (CondRefOf (PINI))
                {
                    Return (Package (0x04)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }, 

                        ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                        Package (0x00){}
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }
                    })
                }
            }

            Method (HPME, 0, Serialized)
            {
                If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                {
                    Notify (PXSX, 0x02) // Device Wake
                    PMSX = One
                    PSPX = One
                }
            }

            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (CondRefOf (PICM))
                {
                    If (PICM)
                    {
                        Return (AR06 ())
                    }
                }

                Return (PD06 ())
            }
        }

        Device (RP04)
        {
            Name (PBNU, Zero)
            Method (_ADR, 0, NotSerialized)  // _ADR: Address
            {
                If ((RPA4 != Zero))
                {
                    Return (RPA4) /* \RPA4 */
                }
                Else
                {
                    Return (0x001C0003)
                }
            }

            Name (SLOT, 0x04)
            Name (PRTP, 0x02)
            Name (LTEN, Zero)
            Name (LMSL, Zero)
            Name (LNSL, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                LTEN = LTR4 /* \LTR4 */
                LMSL = PML4 /* \PML4 */
                LNSL = PNL4 /* \PNL4 */
                If ((CondRefOf (VMSP) && CondRefOf (VMDE)))
                {
                    If (((VMDE == One) && ((VMSP & 0x0800) != Zero)))
                    {
                        ADBG ("RP04 (0/28/3) is mapped under VMD")
                        PRMV = One
                    }
                }

                If (PRES ())
                {
                    If (CondRefOf (PINI))
                    {
                        PINI ()
                    }
                }

                If (CondRefOf (\_SB.PC00.RP04))
                {
                    If ((VDID != 0xFFFFFFFF))
                    {
                        If (CondRefOf (\STD3))
                        {
                            If (CondRefOf (\_SB.PC00.RP04.PRMV))
                            {
                                If ((PRMV == One))
                                {
                                    ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }

                            If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                            {
                                ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                RD3C = STD3 /* \STD3 */
                            }
                        }
                    }
                }
            }

            OperationRegion (PXCS, SystemMemory, PC2M (_ADR (), PBNU), 0x0480)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x50), 
                L0SE,   1, 
                    ,   3, 
                LDIS,   1, 
                Offset (0x51), 
                Offset (0x52), 
                    ,   13, 
                LASX,   1, 
                Offset (0x5A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                Offset (0x5B), 
                Offset (0x60), 
                Offset (0x62), 
                PSPX,   1, 
                Offset (0x68), 
                    ,   10, 
                LNRE,   1, 
                Offset (0xA4), 
                D3HT,   2, 
                Offset (0xD8), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1, 
                Offset (0xE0), 
                SCB0,   1, 
                    ,   6, 
                NCB7,   1, 
                Offset (0xE2), 
                    ,   2, 
                L23E,   1, 
                L23R,   1, 
                Offset (0x328), 
                Offset (0x32B), 
                LTSM,   8, 
                Offset (0x404), 
                LSOE,   1, 
                LNSE,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                Offset (0xDC), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Method (L23D, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                If ((SCB0 != One))
                {
                    ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                    Return (Zero)
                }

                L23R = One
                Local0 = Zero
                While (L23R)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                SCB0 = Zero
                Local0 = Zero
                While ((LASX == Zero))
                {
                    If ((Local0 > 0x08))
                    {
                        ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
            }

            Method (DL23, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                If (((LASX == One) && (LNRE == Zero)))
                {
                    If (((LSOE == One) || (LNSE == One)))
                    {
                        LNRE = One
                        Sleep (One)
                        LNRE = Zero
                        ADBG ("Toggle LNRE")
                    }
                }

                L23E = One
                Sleep (0x10)
                Local0 = Zero
                While (L23E)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                SCB0 = One
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
            }

            Name (LTRV, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (PRMV, Zero)
            Name (RD3C, 0x02)
            Method (PRES, 0, NotSerialized)
            {
                If ((VDID == 0xFFFFFFFF))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (One)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            Name (OPTS, Buffer (0x02)
                            {
                                 0x00, 0x00                                       // ..
                            })
                            CreateBitField (OPTS, Zero, FUN0)
                            CreateBitField (OPTS, 0x06, FUN6)
                            CreateBitField (OPTS, 0x08, FUN8)
                            CreateBitField (OPTS, 0x09, FUN9)
                            CreateBitField (OPTS, 0x0A, FUNA)
                            CreateBitField (OPTS, 0x0B, FUNB)
                            If ((Arg1 >= 0x02))
                            {
                                FUN0 = One
                                If ((LTEN != Zero))
                                {
                                    FUN6 = One
                                }

                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            FUN8 = One
                                            FUN9 = One
                                        }
                                    }
                                }
                            }

                            If ((Arg1 >= 0x04))
                            {
                                If (CondRefOf (PPBA))
                                {
                                    FUNA = One
                                }

                                If (CondRefOf (UPRD))
                                {
                                    FUNB = One
                                }
                            }

                            ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                            Return (OPTS) /* \_SB_.PC00.RP04._DSM.OPTS */
                        }
                        Case (0x06)
                        {
                            If ((Arg1 >= 0x02))
                            {
                                LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                LTRV [One] = (LMSL & 0x03FF)
                                LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                LTRV [0x03] = (LNSL & 0x03FF)
                                Return (LTRV) /* \_SB_.PC00.RP04.LTRV */
                            }
                        }
                        Case (0x08)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                        }
                        Case (0x09)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350, 
                                            Ones, 
                                            Ones, 
                                            0xC350, 
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                        Case (0x0A)
                        {
                            If (CondRefOf (PPBA))
                            {
                                Return (PPBA (Arg3))
                            }
                        }
                        Case (0x0B)
                        {
                            If (CondRefOf (UPRD))
                            {
                                Return (UPRD (Arg3))
                            }
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                Field (PCCX, ByteAcc, NoLock, Preserve)
                {
                    DVID,   32, 
                    Offset (0x09), 
                    PIXX,   8, 
                    SCCX,   8, 
                    BCCX,   8
                }

                Method (PAHC, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x06))
                        {
                            If ((PIXX == One))
                            {
                                ADBG ("PSSD AHCI")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PNVM, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x08))
                        {
                            If ((PIXX == 0x02))
                            {
                                ADBG ("PSSD NVMe")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PRES, 0, Serialized)
                {
                    If ((DVID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (ISGX, 0, Serialized)
                {
                    If ((BCCX == 0x03))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                        {
                            If ((PAHC () || PNVM ()))
                            {
                                ADBG ("NVMe D3 Support Enable for Child Device")
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            One
                                        }
                                    }
                                })
                            }
                            Else
                            {
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            Zero
                                        }
                                    }
                                })
                            }
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0xC0, 0x04))
                        }
                    }

                    Return (GPRW (0x69, 0x04))
                }
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS0))
                {
                    ADBG ("Calling Platform PCIE RP PS0 Hook")
                    PPS0 ()
                    ADBG ("Returned from Platform PCIE RP PS0 Hook")
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS3))
                {
                    ADBG ("Calling Platform PCIE RP PS3 Hook")
                    PPS3 ()
                    ADBG ("Returned from Platform PCIE RP PS3 Hook")
                }
            }

            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (ADSD))
                {
                    ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                    Return (ADSD ())
                }

                If (CondRefOf (PINI))
                {
                    Return (Package (0x04)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }, 

                        ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                        Package (0x00){}
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }
                    })
                }
            }

            Method (HPME, 0, Serialized)
            {
                If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                {
                    Notify (PXSX, 0x02) // Device Wake
                    PMSX = One
                    PSPX = One
                }
            }

            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (CondRefOf (PICM))
                {
                    If (PICM)
                    {
                        Return (AR07 ())
                    }
                }

                Return (PD07 ())
            }
        }

        Device (RP05)
        {
            Name (PBNU, Zero)
            Method (_ADR, 0, NotSerialized)  // _ADR: Address
            {
                If ((RPA5 != Zero))
                {
                    Return (RPA5) /* \RPA5 */
                }
                Else
                {
                    Return (0x001C0004)
                }
            }

            Name (SLOT, 0x05)
            Name (PRTP, 0x02)
            Name (LTEN, Zero)
            Name (LMSL, Zero)
            Name (LNSL, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                LTEN = LTR5 /* \LTR5 */
                LMSL = PML5 /* \PML5 */
                LNSL = PNL5 /* \PNL5 */
                If ((CondRefOf (VMSP) && CondRefOf (VMDE)))
                {
                    If (((VMDE == One) && ((VMSP & 0x1000) != Zero)))
                    {
                        ADBG ("RP05 (0/28/4) is mapped under VMD")
                        PRMV = One
                    }
                }

                If (PRES ())
                {
                    If (CondRefOf (PINI))
                    {
                        PINI ()
                    }
                }

                If (CondRefOf (\_SB.PC00.RP05))
                {
                    If ((VDID != 0xFFFFFFFF))
                    {
                        If (CondRefOf (\STD3))
                        {
                            If (CondRefOf (\_SB.PC00.RP05.PRMV))
                            {
                                If ((PRMV == One))
                                {
                                    ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }

                            If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                            {
                                ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                RD3C = STD3 /* \STD3 */
                            }
                        }
                    }
                }
            }

            OperationRegion (PXCS, SystemMemory, PC2M (_ADR (), PBNU), 0x0480)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x50), 
                L0SE,   1, 
                    ,   3, 
                LDIS,   1, 
                Offset (0x51), 
                Offset (0x52), 
                    ,   13, 
                LASX,   1, 
                Offset (0x5A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                Offset (0x5B), 
                Offset (0x60), 
                Offset (0x62), 
                PSPX,   1, 
                Offset (0x68), 
                    ,   10, 
                LNRE,   1, 
                Offset (0xA4), 
                D3HT,   2, 
                Offset (0xD8), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1, 
                Offset (0xE0), 
                SCB0,   1, 
                    ,   6, 
                NCB7,   1, 
                Offset (0xE2), 
                    ,   2, 
                L23E,   1, 
                L23R,   1, 
                Offset (0x328), 
                Offset (0x32B), 
                LTSM,   8, 
                Offset (0x404), 
                LSOE,   1, 
                LNSE,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                Offset (0xDC), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Method (L23D, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                If ((SCB0 != One))
                {
                    ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                    Return (Zero)
                }

                L23R = One
                Local0 = Zero
                While (L23R)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                SCB0 = Zero
                Local0 = Zero
                While ((LASX == Zero))
                {
                    If ((Local0 > 0x08))
                    {
                        ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
            }

            Method (DL23, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                If (((LASX == One) && (LNRE == Zero)))
                {
                    If (((LSOE == One) || (LNSE == One)))
                    {
                        LNRE = One
                        Sleep (One)
                        LNRE = Zero
                        ADBG ("Toggle LNRE")
                    }
                }

                L23E = One
                Sleep (0x10)
                Local0 = Zero
                While (L23E)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                SCB0 = One
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
            }

            Name (LTRV, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (PRMV, Zero)
            Name (RD3C, 0x02)
            Method (PRES, 0, NotSerialized)
            {
                If ((VDID == 0xFFFFFFFF))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (One)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            Name (OPTS, Buffer (0x02)
                            {
                                 0x00, 0x00                                       // ..
                            })
                            CreateBitField (OPTS, Zero, FUN0)
                            CreateBitField (OPTS, 0x06, FUN6)
                            CreateBitField (OPTS, 0x08, FUN8)
                            CreateBitField (OPTS, 0x09, FUN9)
                            CreateBitField (OPTS, 0x0A, FUNA)
                            CreateBitField (OPTS, 0x0B, FUNB)
                            If ((Arg1 >= 0x02))
                            {
                                FUN0 = One
                                If ((LTEN != Zero))
                                {
                                    FUN6 = One
                                }

                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            FUN8 = One
                                            FUN9 = One
                                        }
                                    }
                                }
                            }

                            If ((Arg1 >= 0x04))
                            {
                                If (CondRefOf (PPBA))
                                {
                                    FUNA = One
                                }

                                If (CondRefOf (UPRD))
                                {
                                    FUNB = One
                                }
                            }

                            ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                            Return (OPTS) /* \_SB_.PC00.RP05._DSM.OPTS */
                        }
                        Case (0x06)
                        {
                            If ((Arg1 >= 0x02))
                            {
                                LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                LTRV [One] = (LMSL & 0x03FF)
                                LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                LTRV [0x03] = (LNSL & 0x03FF)
                                Return (LTRV) /* \_SB_.PC00.RP05.LTRV */
                            }
                        }
                        Case (0x08)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                        }
                        Case (0x09)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350, 
                                            Ones, 
                                            Ones, 
                                            0xC350, 
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                        Case (0x0A)
                        {
                            If (CondRefOf (PPBA))
                            {
                                Return (PPBA (Arg3))
                            }
                        }
                        Case (0x0B)
                        {
                            If (CondRefOf (UPRD))
                            {
                                Return (UPRD (Arg3))
                            }
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                Field (PCCX, ByteAcc, NoLock, Preserve)
                {
                    DVID,   32, 
                    Offset (0x09), 
                    PIXX,   8, 
                    SCCX,   8, 
                    BCCX,   8
                }

                Method (PAHC, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x06))
                        {
                            If ((PIXX == One))
                            {
                                ADBG ("PSSD AHCI")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PNVM, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x08))
                        {
                            If ((PIXX == 0x02))
                            {
                                ADBG ("PSSD NVMe")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PRES, 0, Serialized)
                {
                    If ((DVID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (ISGX, 0, Serialized)
                {
                    If ((BCCX == 0x03))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                        {
                            If ((PAHC () || PNVM ()))
                            {
                                ADBG ("NVMe D3 Support Enable for Child Device")
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            One
                                        }
                                    }
                                })
                            }
                            Else
                            {
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            Zero
                                        }
                                    }
                                })
                            }
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0xC1, 0x04))
                        }
                    }

                    Return (GPRW (0x69, 0x04))
                }
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS0))
                {
                    ADBG ("Calling Platform PCIE RP PS0 Hook")
                    PPS0 ()
                    ADBG ("Returned from Platform PCIE RP PS0 Hook")
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS3))
                {
                    ADBG ("Calling Platform PCIE RP PS3 Hook")
                    PPS3 ()
                    ADBG ("Returned from Platform PCIE RP PS3 Hook")
                }
            }

            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (ADSD))
                {
                    ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                    Return (ADSD ())
                }

                If (CondRefOf (PINI))
                {
                    Return (Package (0x04)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }, 

                        ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                        Package (0x00){}
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }
                    })
                }
            }

            Method (HPME, 0, Serialized)
            {
                If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                {
                    Notify (PXSX, 0x02) // Device Wake
                    PMSX = One
                    PSPX = One
                }
            }

            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (CondRefOf (PICM))
                {
                    If (PICM)
                    {
                        Return (AR04 ())
                    }
                }

                Return (PD04 ())
            }
        }

        Device (RP06)
        {
            Name (PBNU, Zero)
            Method (_ADR, 0, NotSerialized)  // _ADR: Address
            {
                If ((RPA6 != Zero))
                {
                    Return (RPA6) /* \RPA6 */
                }
                Else
                {
                    Return (0x001C0005)
                }
            }

            Name (SLOT, 0x06)
            Name (PRTP, 0x02)
            Name (LTEN, Zero)
            Name (LMSL, Zero)
            Name (LNSL, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                LTEN = LTR6 /* \LTR6 */
                LMSL = PML6 /* \PML6 */
                LNSL = PNL6 /* \PNL6 */
                If ((CondRefOf (VMSP) && CondRefOf (VMDE)))
                {
                    If (((VMDE == One) && ((VMSP & 0x2000) != Zero)))
                    {
                        ADBG ("RP06 (0/28/5) is mapped under VMD")
                        PRMV = One
                    }
                }

                If (PRES ())
                {
                    If (CondRefOf (PINI))
                    {
                        PINI ()
                    }
                }

                If (CondRefOf (\_SB.PC00.RP06))
                {
                    If ((VDID != 0xFFFFFFFF))
                    {
                        If (CondRefOf (\STD3))
                        {
                            If (CondRefOf (\_SB.PC00.RP06.PRMV))
                            {
                                If ((PRMV == One))
                                {
                                    ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }

                            If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                            {
                                ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                RD3C = STD3 /* \STD3 */
                            }
                        }
                    }
                }
            }

            OperationRegion (PXCS, SystemMemory, PC2M (_ADR (), PBNU), 0x0480)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x50), 
                L0SE,   1, 
                    ,   3, 
                LDIS,   1, 
                Offset (0x51), 
                Offset (0x52), 
                    ,   13, 
                LASX,   1, 
                Offset (0x5A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                Offset (0x5B), 
                Offset (0x60), 
                Offset (0x62), 
                PSPX,   1, 
                Offset (0x68), 
                    ,   10, 
                LNRE,   1, 
                Offset (0xA4), 
                D3HT,   2, 
                Offset (0xD8), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1, 
                Offset (0xE0), 
                SCB0,   1, 
                    ,   6, 
                NCB7,   1, 
                Offset (0xE2), 
                    ,   2, 
                L23E,   1, 
                L23R,   1, 
                Offset (0x328), 
                Offset (0x32B), 
                LTSM,   8, 
                Offset (0x404), 
                LSOE,   1, 
                LNSE,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                Offset (0xDC), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Method (L23D, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                If ((SCB0 != One))
                {
                    ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                    Return (Zero)
                }

                L23R = One
                Local0 = Zero
                While (L23R)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                SCB0 = Zero
                Local0 = Zero
                While ((LASX == Zero))
                {
                    If ((Local0 > 0x08))
                    {
                        ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
            }

            Method (DL23, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                If (((LASX == One) && (LNRE == Zero)))
                {
                    If (((LSOE == One) || (LNSE == One)))
                    {
                        LNRE = One
                        Sleep (One)
                        LNRE = Zero
                        ADBG ("Toggle LNRE")
                    }
                }

                L23E = One
                Sleep (0x10)
                Local0 = Zero
                While (L23E)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                SCB0 = One
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
            }

            Name (LTRV, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (PRMV, Zero)
            Name (RD3C, 0x02)
            Method (PRES, 0, NotSerialized)
            {
                If ((VDID == 0xFFFFFFFF))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (One)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            Name (OPTS, Buffer (0x02)
                            {
                                 0x00, 0x00                                       // ..
                            })
                            CreateBitField (OPTS, Zero, FUN0)
                            CreateBitField (OPTS, 0x06, FUN6)
                            CreateBitField (OPTS, 0x08, FUN8)
                            CreateBitField (OPTS, 0x09, FUN9)
                            CreateBitField (OPTS, 0x0A, FUNA)
                            CreateBitField (OPTS, 0x0B, FUNB)
                            If ((Arg1 >= 0x02))
                            {
                                FUN0 = One
                                If ((LTEN != Zero))
                                {
                                    FUN6 = One
                                }

                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            FUN8 = One
                                            FUN9 = One
                                        }
                                    }
                                }
                            }

                            If ((Arg1 >= 0x04))
                            {
                                If (CondRefOf (PPBA))
                                {
                                    FUNA = One
                                }

                                If (CondRefOf (UPRD))
                                {
                                    FUNB = One
                                }
                            }

                            ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                            Return (OPTS) /* \_SB_.PC00.RP06._DSM.OPTS */
                        }
                        Case (0x06)
                        {
                            If ((Arg1 >= 0x02))
                            {
                                LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                LTRV [One] = (LMSL & 0x03FF)
                                LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                LTRV [0x03] = (LNSL & 0x03FF)
                                Return (LTRV) /* \_SB_.PC00.RP06.LTRV */
                            }
                        }
                        Case (0x08)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                        }
                        Case (0x09)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350, 
                                            Ones, 
                                            Ones, 
                                            0xC350, 
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                        Case (0x0A)
                        {
                            If (CondRefOf (PPBA))
                            {
                                Return (PPBA (Arg3))
                            }
                        }
                        Case (0x0B)
                        {
                            If (CondRefOf (UPRD))
                            {
                                Return (UPRD (Arg3))
                            }
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                Field (PCCX, ByteAcc, NoLock, Preserve)
                {
                    DVID,   32, 
                    Offset (0x09), 
                    PIXX,   8, 
                    SCCX,   8, 
                    BCCX,   8
                }

                Method (PAHC, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x06))
                        {
                            If ((PIXX == One))
                            {
                                ADBG ("PSSD AHCI")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PNVM, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x08))
                        {
                            If ((PIXX == 0x02))
                            {
                                ADBG ("PSSD NVMe")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PRES, 0, Serialized)
                {
                    If ((DVID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (ISGX, 0, Serialized)
                {
                    If ((BCCX == 0x03))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                        {
                            If ((PAHC () || PNVM ()))
                            {
                                ADBG ("NVMe D3 Support Enable for Child Device")
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            One
                                        }
                                    }
                                })
                            }
                            Else
                            {
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            Zero
                                        }
                                    }
                                })
                            }
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0xC1, 0x04))
                        }
                    }

                    Return (GPRW (0x69, 0x04))
                }
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS0))
                {
                    ADBG ("Calling Platform PCIE RP PS0 Hook")
                    PPS0 ()
                    ADBG ("Returned from Platform PCIE RP PS0 Hook")
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS3))
                {
                    ADBG ("Calling Platform PCIE RP PS3 Hook")
                    PPS3 ()
                    ADBG ("Returned from Platform PCIE RP PS3 Hook")
                }
            }

            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (ADSD))
                {
                    ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                    Return (ADSD ())
                }

                If (CondRefOf (PINI))
                {
                    Return (Package (0x04)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }, 

                        ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                        Package (0x00){}
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }
                    })
                }
            }

            Method (HPME, 0, Serialized)
            {
                If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                {
                    Notify (PXSX, 0x02) // Device Wake
                    PMSX = One
                    PSPX = One
                }
            }

            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (CondRefOf (PICM))
                {
                    If (PICM)
                    {
                        Return (AR05 ())
                    }
                }

                Return (PD05 ())
            }
        }

        Device (RP07)
        {
            Name (PBNU, Zero)
            Method (_ADR, 0, NotSerialized)  // _ADR: Address
            {
                If ((RPA7 != Zero))
                {
                    Return (RPA7) /* \RPA7 */
                }
                Else
                {
                    Return (0x001C0006)
                }
            }

            Name (SLOT, 0x07)
            Name (PRTP, 0x02)
            Name (LTEN, Zero)
            Name (LMSL, Zero)
            Name (LNSL, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                LTEN = LTR7 /* \LTR7 */
                LMSL = PML7 /* \PML7 */
                LNSL = PNL7 /* \PNL7 */
                If ((CondRefOf (VMSP) && CondRefOf (VMDE)))
                {
                    If (((VMDE == One) && ((VMSP & 0x4000) != Zero)))
                    {
                        ADBG ("RP07 (0/28/6) is mapped under VMD")
                        PRMV = One
                    }
                }

                If (PRES ())
                {
                    If (CondRefOf (PINI))
                    {
                        PINI ()
                    }
                }

                If (CondRefOf (\_SB.PC00.RP07))
                {
                    If ((VDID != 0xFFFFFFFF))
                    {
                        If (CondRefOf (\STD3))
                        {
                            If (CondRefOf (\_SB.PC00.RP07.PRMV))
                            {
                                If ((PRMV == One))
                                {
                                    ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }

                            If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                            {
                                ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                RD3C = STD3 /* \STD3 */
                            }
                        }
                    }
                }
            }

            OperationRegion (PXCS, SystemMemory, PC2M (_ADR (), PBNU), 0x0480)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x50), 
                L0SE,   1, 
                    ,   3, 
                LDIS,   1, 
                Offset (0x51), 
                Offset (0x52), 
                    ,   13, 
                LASX,   1, 
                Offset (0x5A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                Offset (0x5B), 
                Offset (0x60), 
                Offset (0x62), 
                PSPX,   1, 
                Offset (0x68), 
                    ,   10, 
                LNRE,   1, 
                Offset (0xA4), 
                D3HT,   2, 
                Offset (0xD8), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1, 
                Offset (0xE0), 
                SCB0,   1, 
                    ,   6, 
                NCB7,   1, 
                Offset (0xE2), 
                    ,   2, 
                L23E,   1, 
                L23R,   1, 
                Offset (0x328), 
                Offset (0x32B), 
                LTSM,   8, 
                Offset (0x404), 
                LSOE,   1, 
                LNSE,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                Offset (0xDC), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Method (L23D, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                If ((SCB0 != One))
                {
                    ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                    Return (Zero)
                }

                L23R = One
                Local0 = Zero
                While (L23R)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                SCB0 = Zero
                Local0 = Zero
                While ((LASX == Zero))
                {
                    If ((Local0 > 0x08))
                    {
                        ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
            }

            Method (DL23, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                If (((LASX == One) && (LNRE == Zero)))
                {
                    If (((LSOE == One) || (LNSE == One)))
                    {
                        LNRE = One
                        Sleep (One)
                        LNRE = Zero
                        ADBG ("Toggle LNRE")
                    }
                }

                L23E = One
                Sleep (0x10)
                Local0 = Zero
                While (L23E)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                SCB0 = One
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
            }

            Name (LTRV, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (PRMV, Zero)
            Name (RD3C, 0x02)
            Method (PRES, 0, NotSerialized)
            {
                If ((VDID == 0xFFFFFFFF))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (One)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            Name (OPTS, Buffer (0x02)
                            {
                                 0x00, 0x00                                       // ..
                            })
                            CreateBitField (OPTS, Zero, FUN0)
                            CreateBitField (OPTS, 0x06, FUN6)
                            CreateBitField (OPTS, 0x08, FUN8)
                            CreateBitField (OPTS, 0x09, FUN9)
                            CreateBitField (OPTS, 0x0A, FUNA)
                            CreateBitField (OPTS, 0x0B, FUNB)
                            If ((Arg1 >= 0x02))
                            {
                                FUN0 = One
                                If ((LTEN != Zero))
                                {
                                    FUN6 = One
                                }

                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            FUN8 = One
                                            FUN9 = One
                                        }
                                    }
                                }
                            }

                            If ((Arg1 >= 0x04))
                            {
                                If (CondRefOf (PPBA))
                                {
                                    FUNA = One
                                }

                                If (CondRefOf (UPRD))
                                {
                                    FUNB = One
                                }
                            }

                            ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                            Return (OPTS) /* \_SB_.PC00.RP07._DSM.OPTS */
                        }
                        Case (0x06)
                        {
                            If ((Arg1 >= 0x02))
                            {
                                LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                LTRV [One] = (LMSL & 0x03FF)
                                LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                LTRV [0x03] = (LNSL & 0x03FF)
                                Return (LTRV) /* \_SB_.PC00.RP07.LTRV */
                            }
                        }
                        Case (0x08)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                        }
                        Case (0x09)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350, 
                                            Ones, 
                                            Ones, 
                                            0xC350, 
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                        Case (0x0A)
                        {
                            If (CondRefOf (PPBA))
                            {
                                Return (PPBA (Arg3))
                            }
                        }
                        Case (0x0B)
                        {
                            If (CondRefOf (UPRD))
                            {
                                Return (UPRD (Arg3))
                            }
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                Field (PCCX, ByteAcc, NoLock, Preserve)
                {
                    DVID,   32, 
                    Offset (0x09), 
                    PIXX,   8, 
                    SCCX,   8, 
                    BCCX,   8
                }

                Method (PAHC, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x06))
                        {
                            If ((PIXX == One))
                            {
                                ADBG ("PSSD AHCI")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PNVM, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x08))
                        {
                            If ((PIXX == 0x02))
                            {
                                ADBG ("PSSD NVMe")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PRES, 0, Serialized)
                {
                    If ((DVID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (ISGX, 0, Serialized)
                {
                    If ((BCCX == 0x03))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                        {
                            If ((PAHC () || PNVM ()))
                            {
                                ADBG ("NVMe D3 Support Enable for Child Device")
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            One
                                        }
                                    }
                                })
                            }
                            Else
                            {
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            Zero
                                        }
                                    }
                                })
                            }
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0xC1, 0x04))
                        }
                    }

                    Return (GPRW (0x69, 0x04))
                }
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS0))
                {
                    ADBG ("Calling Platform PCIE RP PS0 Hook")
                    PPS0 ()
                    ADBG ("Returned from Platform PCIE RP PS0 Hook")
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS3))
                {
                    ADBG ("Calling Platform PCIE RP PS3 Hook")
                    PPS3 ()
                    ADBG ("Returned from Platform PCIE RP PS3 Hook")
                }
            }

            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (ADSD))
                {
                    ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                    Return (ADSD ())
                }

                If (CondRefOf (PINI))
                {
                    Return (Package (0x04)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }, 

                        ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                        Package (0x00){}
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }
                    })
                }
            }

            Method (HPME, 0, Serialized)
            {
                If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                {
                    Notify (PXSX, 0x02) // Device Wake
                    PMSX = One
                    PSPX = One
                }
            }

            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (CondRefOf (PICM))
                {
                    If (PICM)
                    {
                        Return (AR06 ())
                    }
                }

                Return (PD06 ())
            }
        }

        Device (RP08)
        {
            Name (PBNU, Zero)
            Method (_ADR, 0, NotSerialized)  // _ADR: Address
            {
                If ((RPA8 != Zero))
                {
                    Return (RPA8) /* \RPA8 */
                }
                Else
                {
                    Return (0x001C0007)
                }
            }

            Name (SLOT, 0x08)
            Name (PRTP, 0x02)
            Name (LTEN, Zero)
            Name (LMSL, Zero)
            Name (LNSL, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                LTEN = LTR8 /* \LTR8 */
                LMSL = PML8 /* \PML8 */
                LNSL = PNL8 /* \PNL8 */
                If ((CondRefOf (VMSP) && CondRefOf (VMDE)))
                {
                    If (((VMDE == One) && ((VMSP & 0x8000) != Zero)))
                    {
                        ADBG ("RP08 (0/28/7) is mapped under VMD")
                        PRMV = One
                    }
                }

                If (PRES ())
                {
                    If (CondRefOf (PINI))
                    {
                        PINI ()
                    }
                }

                If (CondRefOf (\_SB.PC00.RP08))
                {
                    If ((VDID != 0xFFFFFFFF))
                    {
                        If (CondRefOf (\STD3))
                        {
                            If (CondRefOf (\_SB.PC00.RP08.PRMV))
                            {
                                If ((PRMV == One))
                                {
                                    ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }

                            If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                            {
                                ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                RD3C = STD3 /* \STD3 */
                            }
                        }
                    }
                }
            }

            OperationRegion (PXCS, SystemMemory, PC2M (_ADR (), PBNU), 0x0480)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x50), 
                L0SE,   1, 
                    ,   3, 
                LDIS,   1, 
                Offset (0x51), 
                Offset (0x52), 
                    ,   13, 
                LASX,   1, 
                Offset (0x5A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                Offset (0x5B), 
                Offset (0x60), 
                Offset (0x62), 
                PSPX,   1, 
                Offset (0x68), 
                    ,   10, 
                LNRE,   1, 
                Offset (0xA4), 
                D3HT,   2, 
                Offset (0xD8), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1, 
                Offset (0xE0), 
                SCB0,   1, 
                    ,   6, 
                NCB7,   1, 
                Offset (0xE2), 
                    ,   2, 
                L23E,   1, 
                L23R,   1, 
                Offset (0x328), 
                Offset (0x32B), 
                LTSM,   8, 
                Offset (0x404), 
                LSOE,   1, 
                LNSE,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                Offset (0xDC), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Method (L23D, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                If ((SCB0 != One))
                {
                    ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                    Return (Zero)
                }

                L23R = One
                Local0 = Zero
                While (L23R)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                SCB0 = Zero
                Local0 = Zero
                While ((LASX == Zero))
                {
                    If ((Local0 > 0x08))
                    {
                        ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
            }

            Method (DL23, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                If (((LASX == One) && (LNRE == Zero)))
                {
                    If (((LSOE == One) || (LNSE == One)))
                    {
                        LNRE = One
                        Sleep (One)
                        LNRE = Zero
                        ADBG ("Toggle LNRE")
                    }
                }

                L23E = One
                Sleep (0x10)
                Local0 = Zero
                While (L23E)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                SCB0 = One
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
            }

            Name (LTRV, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (PRMV, Zero)
            Name (RD3C, 0x02)
            Method (PRES, 0, NotSerialized)
            {
                If ((VDID == 0xFFFFFFFF))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (One)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            Name (OPTS, Buffer (0x02)
                            {
                                 0x00, 0x00                                       // ..
                            })
                            CreateBitField (OPTS, Zero, FUN0)
                            CreateBitField (OPTS, 0x06, FUN6)
                            CreateBitField (OPTS, 0x08, FUN8)
                            CreateBitField (OPTS, 0x09, FUN9)
                            CreateBitField (OPTS, 0x0A, FUNA)
                            CreateBitField (OPTS, 0x0B, FUNB)
                            If ((Arg1 >= 0x02))
                            {
                                FUN0 = One
                                If ((LTEN != Zero))
                                {
                                    FUN6 = One
                                }

                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            FUN8 = One
                                            FUN9 = One
                                        }
                                    }
                                }
                            }

                            If ((Arg1 >= 0x04))
                            {
                                If (CondRefOf (PPBA))
                                {
                                    FUNA = One
                                }

                                If (CondRefOf (UPRD))
                                {
                                    FUNB = One
                                }
                            }

                            ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                            Return (OPTS) /* \_SB_.PC00.RP08._DSM.OPTS */
                        }
                        Case (0x06)
                        {
                            If ((Arg1 >= 0x02))
                            {
                                LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                LTRV [One] = (LMSL & 0x03FF)
                                LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                LTRV [0x03] = (LNSL & 0x03FF)
                                Return (LTRV) /* \_SB_.PC00.RP08.LTRV */
                            }
                        }
                        Case (0x08)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                        }
                        Case (0x09)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350, 
                                            Ones, 
                                            Ones, 
                                            0xC350, 
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                        Case (0x0A)
                        {
                            If (CondRefOf (PPBA))
                            {
                                Return (PPBA (Arg3))
                            }
                        }
                        Case (0x0B)
                        {
                            If (CondRefOf (UPRD))
                            {
                                Return (UPRD (Arg3))
                            }
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                Field (PCCX, ByteAcc, NoLock, Preserve)
                {
                    DVID,   32, 
                    Offset (0x09), 
                    PIXX,   8, 
                    SCCX,   8, 
                    BCCX,   8
                }

                Method (PAHC, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x06))
                        {
                            If ((PIXX == One))
                            {
                                ADBG ("PSSD AHCI")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PNVM, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x08))
                        {
                            If ((PIXX == 0x02))
                            {
                                ADBG ("PSSD NVMe")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PRES, 0, Serialized)
                {
                    If ((DVID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (ISGX, 0, Serialized)
                {
                    If ((BCCX == 0x03))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                        {
                            If ((PAHC () || PNVM ()))
                            {
                                ADBG ("NVMe D3 Support Enable for Child Device")
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            One
                                        }
                                    }
                                })
                            }
                            Else
                            {
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            Zero
                                        }
                                    }
                                })
                            }
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0xC1, 0x04))
                        }
                    }

                    Return (GPRW (0x69, 0x04))
                }
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS0))
                {
                    ADBG ("Calling Platform PCIE RP PS0 Hook")
                    PPS0 ()
                    ADBG ("Returned from Platform PCIE RP PS0 Hook")
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS3))
                {
                    ADBG ("Calling Platform PCIE RP PS3 Hook")
                    PPS3 ()
                    ADBG ("Returned from Platform PCIE RP PS3 Hook")
                }
            }

            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (ADSD))
                {
                    ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                    Return (ADSD ())
                }

                If (CondRefOf (PINI))
                {
                    Return (Package (0x04)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }, 

                        ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                        Package (0x00){}
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }
                    })
                }
            }

            Method (HPME, 0, Serialized)
            {
                If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                {
                    Notify (PXSX, 0x02) // Device Wake
                    PMSX = One
                    PSPX = One
                }
            }

            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (CondRefOf (PICM))
                {
                    If (PICM)
                    {
                        Return (AR07 ())
                    }
                }

                Return (PD07 ())
            }
        }

        Device (RP09)
        {
            Name (PBNU, Zero)
            Method (_ADR, 0, NotSerialized)  // _ADR: Address
            {
                If ((RPA9 != Zero))
                {
                    Return (RPA9) /* \RPA9 */
                }
                Else
                {
                    Return (0x00060000)
                }
            }

            Name (SLOT, 0x09)
            Name (PRTP, 0x04)
            Name (LTEN, Zero)
            Name (LMSL, Zero)
            Name (LNSL, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                LTEN = LTR9 /* \LTR9 */
                LMSL = PML9 /* \PML9 */
                LNSL = PNL9 /* \PNL9 */
                If ((CondRefOf (VMSP) && CondRefOf (VMDE)))
                {
                    If (((VMDE == One) && ((VMSP & One) != Zero)))
                    {
                        ADBG ("RP09 (0/6/0) is mapped under VMD")
                        PRMV = One
                    }
                }

                If (PRES ())
                {
                    If (CondRefOf (PINI))
                    {
                        PINI ()
                    }
                }

                If (CondRefOf (\_SB.PC00.RP09))
                {
                    If ((VDID != 0xFFFFFFFF))
                    {
                        If (CondRefOf (\STD3))
                        {
                            If (CondRefOf (\_SB.PC00.RP09.PRMV))
                            {
                                If ((PRMV == One))
                                {
                                    ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }

                            If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                            {
                                ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                RD3C = STD3 /* \STD3 */
                            }
                        }
                    }
                }
            }

            OperationRegion (PXCS, SystemMemory, PC2M (_ADR (), PBNU), 0x0480)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x50), 
                L0SE,   1, 
                    ,   3, 
                LDIS,   1, 
                Offset (0x51), 
                Offset (0x52), 
                    ,   13, 
                LASX,   1, 
                Offset (0x5A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                Offset (0x5B), 
                Offset (0x60), 
                Offset (0x62), 
                PSPX,   1, 
                Offset (0x68), 
                    ,   10, 
                LNRE,   1, 
                Offset (0xA4), 
                D3HT,   2, 
                Offset (0xD8), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1, 
                Offset (0xE0), 
                SCB0,   1, 
                    ,   6, 
                NCB7,   1, 
                Offset (0xE2), 
                    ,   2, 
                L23E,   1, 
                L23R,   1, 
                Offset (0x328), 
                Offset (0x32B), 
                LTSM,   8, 
                Offset (0x404), 
                LSOE,   1, 
                LNSE,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                Offset (0xDC), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Method (L23D, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                If ((SCB0 != One))
                {
                    ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                    Return (Zero)
                }

                L23R = One
                Local0 = Zero
                While (L23R)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                SCB0 = Zero
                Local0 = Zero
                While ((LASX == Zero))
                {
                    If ((Local0 > 0x08))
                    {
                        ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
            }

            Method (DL23, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                If (((LASX == One) && (LNRE == Zero)))
                {
                    If (((LSOE == One) || (LNSE == One)))
                    {
                        LNRE = One
                        Sleep (One)
                        LNRE = Zero
                        ADBG ("Toggle LNRE")
                    }
                }

                L23E = One
                Sleep (0x10)
                Local0 = Zero
                While (L23E)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                SCB0 = One
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
            }

            Name (LTRV, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (PRMV, Zero)
            Name (RD3C, 0x02)
            Method (PRES, 0, NotSerialized)
            {
                If ((VDID == 0xFFFFFFFF))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (One)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            Name (OPTS, Buffer (0x02)
                            {
                                 0x00, 0x00                                       // ..
                            })
                            CreateBitField (OPTS, Zero, FUN0)
                            CreateBitField (OPTS, 0x06, FUN6)
                            CreateBitField (OPTS, 0x08, FUN8)
                            CreateBitField (OPTS, 0x09, FUN9)
                            CreateBitField (OPTS, 0x0A, FUNA)
                            CreateBitField (OPTS, 0x0B, FUNB)
                            If ((Arg1 >= 0x02))
                            {
                                FUN0 = One
                                If ((LTEN != Zero))
                                {
                                    FUN6 = One
                                }

                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            FUN8 = One
                                            FUN9 = One
                                        }
                                    }
                                }
                            }

                            If ((Arg1 >= 0x04))
                            {
                                If (CondRefOf (PPBA))
                                {
                                    FUNA = One
                                }

                                If (CondRefOf (UPRD))
                                {
                                    FUNB = One
                                }
                            }

                            ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                            Return (OPTS) /* \_SB_.PC00.RP09._DSM.OPTS */
                        }
                        Case (0x06)
                        {
                            If ((Arg1 >= 0x02))
                            {
                                LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                LTRV [One] = (LMSL & 0x03FF)
                                LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                LTRV [0x03] = (LNSL & 0x03FF)
                                Return (LTRV) /* \_SB_.PC00.RP09.LTRV */
                            }
                        }
                        Case (0x08)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                        }
                        Case (0x09)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350, 
                                            Ones, 
                                            Ones, 
                                            0xC350, 
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                        Case (0x0A)
                        {
                            If (CondRefOf (PPBA))
                            {
                                Return (PPBA (Arg3))
                            }
                        }
                        Case (0x0B)
                        {
                            If (CondRefOf (UPRD))
                            {
                                Return (UPRD (Arg3))
                            }
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                Field (PCCX, ByteAcc, NoLock, Preserve)
                {
                    DVID,   32, 
                    Offset (0x09), 
                    PIXX,   8, 
                    SCCX,   8, 
                    BCCX,   8
                }

                Method (PAHC, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x06))
                        {
                            If ((PIXX == One))
                            {
                                ADBG ("PSSD AHCI")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PNVM, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x08))
                        {
                            If ((PIXX == 0x02))
                            {
                                ADBG ("PSSD NVMe")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PRES, 0, Serialized)
                {
                    If ((DVID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (ISGX, 0, Serialized)
                {
                    If ((BCCX == 0x03))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                        {
                            If ((PAHC () || PNVM ()))
                            {
                                ADBG ("NVMe D3 Support Enable for Child Device")
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            One
                                        }
                                    }
                                })
                            }
                            Else
                            {
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            Zero
                                        }
                                    }
                                })
                            }
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0xC2, 0x04))
                        }
                    }

                    Return (GPRW (0x69, 0x04))
                }
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS0))
                {
                    ADBG ("Calling Platform PCIE RP PS0 Hook")
                    PPS0 ()
                    ADBG ("Returned from Platform PCIE RP PS0 Hook")
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS3))
                {
                    ADBG ("Calling Platform PCIE RP PS3 Hook")
                    PPS3 ()
                    ADBG ("Returned from Platform PCIE RP PS3 Hook")
                }
            }

            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (ADSD))
                {
                    ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                    Return (ADSD ())
                }

                If (CondRefOf (PINI))
                {
                    Return (Package (0x04)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }, 

                        ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                        Package (0x00){}
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }
                    })
                }
            }

            Method (HPME, 0, Serialized)
            {
                If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                {
                    Notify (PXSX, 0x02) // Device Wake
                    PMSX = One
                    PSPX = One
                }
            }

            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (CondRefOf (PICM))
                {
                    If (PICM)
                    {
                        Return (AR04 ())
                    }
                }

                Return (PD04 ())
            }
        }

        Device (RP10)
        {
            Name (PBNU, Zero)
            Method (_ADR, 0, NotSerialized)  // _ADR: Address
            {
                If ((RPAA != Zero))
                {
                    Return (RPAA) /* \RPAA */
                }
                Else
                {
                    Return (0x00060001)
                }
            }

            Name (SLOT, 0x0A)
            Name (PRTP, 0x04)
            Name (LTEN, Zero)
            Name (LMSL, Zero)
            Name (LNSL, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                LTEN = LTRA /* \LTRA */
                LMSL = PMLA /* \PMLA */
                LNSL = PNLA /* \PNLA */
                If ((CondRefOf (VMSP) && CondRefOf (VMDE)))
                {
                    If (((VMDE == One) && ((VMSP & 0x02) != Zero)))
                    {
                        ADBG ("RP10 (0/6/1) is mapped under VMD")
                        PRMV = One
                    }
                }

                If (PRES ())
                {
                    If (CondRefOf (PINI))
                    {
                        PINI ()
                    }
                }

                If (CondRefOf (\_SB.PC00.RP10))
                {
                    If ((VDID != 0xFFFFFFFF))
                    {
                        If (CondRefOf (\STD3))
                        {
                            If (CondRefOf (\_SB.PC00.RP10.PRMV))
                            {
                                If ((PRMV == One))
                                {
                                    ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }

                            If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                            {
                                ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                RD3C = STD3 /* \STD3 */
                            }
                        }
                    }
                }
            }

            OperationRegion (PXCS, SystemMemory, PC2M (_ADR (), PBNU), 0x0480)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x50), 
                L0SE,   1, 
                    ,   3, 
                LDIS,   1, 
                Offset (0x51), 
                Offset (0x52), 
                    ,   13, 
                LASX,   1, 
                Offset (0x5A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                Offset (0x5B), 
                Offset (0x60), 
                Offset (0x62), 
                PSPX,   1, 
                Offset (0x68), 
                    ,   10, 
                LNRE,   1, 
                Offset (0xA4), 
                D3HT,   2, 
                Offset (0xD8), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1, 
                Offset (0xE0), 
                SCB0,   1, 
                    ,   6, 
                NCB7,   1, 
                Offset (0xE2), 
                    ,   2, 
                L23E,   1, 
                L23R,   1, 
                Offset (0x328), 
                Offset (0x32B), 
                LTSM,   8, 
                Offset (0x404), 
                LSOE,   1, 
                LNSE,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                Offset (0xDC), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Method (L23D, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                If ((SCB0 != One))
                {
                    ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                    Return (Zero)
                }

                L23R = One
                Local0 = Zero
                While (L23R)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                SCB0 = Zero
                Local0 = Zero
                While ((LASX == Zero))
                {
                    If ((Local0 > 0x08))
                    {
                        ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
            }

            Method (DL23, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                If (((LASX == One) && (LNRE == Zero)))
                {
                    If (((LSOE == One) || (LNSE == One)))
                    {
                        LNRE = One
                        Sleep (One)
                        LNRE = Zero
                        ADBG ("Toggle LNRE")
                    }
                }

                L23E = One
                Sleep (0x10)
                Local0 = Zero
                While (L23E)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                SCB0 = One
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
            }

            Name (LTRV, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (PRMV, Zero)
            Name (RD3C, 0x02)
            Method (PRES, 0, NotSerialized)
            {
                If ((VDID == 0xFFFFFFFF))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (One)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            Name (OPTS, Buffer (0x02)
                            {
                                 0x00, 0x00                                       // ..
                            })
                            CreateBitField (OPTS, Zero, FUN0)
                            CreateBitField (OPTS, 0x06, FUN6)
                            CreateBitField (OPTS, 0x08, FUN8)
                            CreateBitField (OPTS, 0x09, FUN9)
                            CreateBitField (OPTS, 0x0A, FUNA)
                            CreateBitField (OPTS, 0x0B, FUNB)
                            If ((Arg1 >= 0x02))
                            {
                                FUN0 = One
                                If ((LTEN != Zero))
                                {
                                    FUN6 = One
                                }

                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            FUN8 = One
                                            FUN9 = One
                                        }
                                    }
                                }
                            }

                            If ((Arg1 >= 0x04))
                            {
                                If (CondRefOf (PPBA))
                                {
                                    FUNA = One
                                }

                                If (CondRefOf (UPRD))
                                {
                                    FUNB = One
                                }
                            }

                            ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                            Return (OPTS) /* \_SB_.PC00.RP10._DSM.OPTS */
                        }
                        Case (0x06)
                        {
                            If ((Arg1 >= 0x02))
                            {
                                LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                LTRV [One] = (LMSL & 0x03FF)
                                LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                LTRV [0x03] = (LNSL & 0x03FF)
                                Return (LTRV) /* \_SB_.PC00.RP10.LTRV */
                            }
                        }
                        Case (0x08)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                        }
                        Case (0x09)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350, 
                                            Ones, 
                                            Ones, 
                                            0xC350, 
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                        Case (0x0A)
                        {
                            If (CondRefOf (PPBA))
                            {
                                Return (PPBA (Arg3))
                            }
                        }
                        Case (0x0B)
                        {
                            If (CondRefOf (UPRD))
                            {
                                Return (UPRD (Arg3))
                            }
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                Field (PCCX, ByteAcc, NoLock, Preserve)
                {
                    DVID,   32, 
                    Offset (0x09), 
                    PIXX,   8, 
                    SCCX,   8, 
                    BCCX,   8
                }

                Method (PAHC, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x06))
                        {
                            If ((PIXX == One))
                            {
                                ADBG ("PSSD AHCI")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PNVM, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x08))
                        {
                            If ((PIXX == 0x02))
                            {
                                ADBG ("PSSD NVMe")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PRES, 0, Serialized)
                {
                    If ((DVID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (ISGX, 0, Serialized)
                {
                    If ((BCCX == 0x03))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                        {
                            If ((PAHC () || PNVM ()))
                            {
                                ADBG ("NVMe D3 Support Enable for Child Device")
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            One
                                        }
                                    }
                                })
                            }
                            Else
                            {
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            Zero
                                        }
                                    }
                                })
                            }
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0xC7, 0x04))
                        }
                    }

                    Return (GPRW (0x69, 0x04))
                }
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS0))
                {
                    ADBG ("Calling Platform PCIE RP PS0 Hook")
                    PPS0 ()
                    ADBG ("Returned from Platform PCIE RP PS0 Hook")
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS3))
                {
                    ADBG ("Calling Platform PCIE RP PS3 Hook")
                    PPS3 ()
                    ADBG ("Returned from Platform PCIE RP PS3 Hook")
                }
            }

            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (ADSD))
                {
                    ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                    Return (ADSD ())
                }

                If (CondRefOf (PINI))
                {
                    Return (Package (0x04)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }, 

                        ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                        Package (0x00){}
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }
                    })
                }
            }

            Method (HPME, 0, Serialized)
            {
                If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                {
                    Notify (PXSX, 0x02) // Device Wake
                    PMSX = One
                    PSPX = One
                }
            }

            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (CondRefOf (PICM))
                {
                    If (PICM)
                    {
                        Return (AR04 ())
                    }
                }

                Return (PD04 ())
            }
        }

        Device (RP11)
        {
            Name (PBNU, Zero)
            Method (_ADR, 0, NotSerialized)  // _ADR: Address
            {
                If ((RPAB != Zero))
                {
                    Return (RPAB) /* \RPAB */
                }
                Else
                {
                    Return (0x00060002)
                }
            }

            Name (SLOT, 0x0B)
            Name (PRTP, 0x04)
            Name (LTEN, Zero)
            Name (LMSL, Zero)
            Name (LNSL, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                LTEN = LTRB /* \LTRB */
                LMSL = PMLB /* \PMLB */
                LNSL = PNLB /* \PNLB */
                If ((CondRefOf (VMSP) && CondRefOf (VMDE)))
                {
                    If (((VMDE == One) && ((VMSP & 0x04) != Zero)))
                    {
                        ADBG ("RP11 (0/6/2) is mapped under VMD")
                        PRMV = One
                    }
                }

                If (PRES ())
                {
                    If (CondRefOf (PINI))
                    {
                        PINI ()
                    }
                }

                If (CondRefOf (\_SB.PC00.RP11))
                {
                    If ((VDID != 0xFFFFFFFF))
                    {
                        If (CondRefOf (\STD3))
                        {
                            If (CondRefOf (\_SB.PC00.RP11.PRMV))
                            {
                                If ((PRMV == One))
                                {
                                    ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }

                            If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                            {
                                ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                RD3C = STD3 /* \STD3 */
                            }
                        }
                    }
                }
            }

            OperationRegion (PXCS, SystemMemory, PC2M (_ADR (), PBNU), 0x0480)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x50), 
                L0SE,   1, 
                    ,   3, 
                LDIS,   1, 
                Offset (0x51), 
                Offset (0x52), 
                    ,   13, 
                LASX,   1, 
                Offset (0x5A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                Offset (0x5B), 
                Offset (0x60), 
                Offset (0x62), 
                PSPX,   1, 
                Offset (0x68), 
                    ,   10, 
                LNRE,   1, 
                Offset (0xA4), 
                D3HT,   2, 
                Offset (0xD8), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1, 
                Offset (0xE0), 
                SCB0,   1, 
                    ,   6, 
                NCB7,   1, 
                Offset (0xE2), 
                    ,   2, 
                L23E,   1, 
                L23R,   1, 
                Offset (0x328), 
                Offset (0x32B), 
                LTSM,   8, 
                Offset (0x404), 
                LSOE,   1, 
                LNSE,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                Offset (0xDC), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Method (L23D, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                If ((SCB0 != One))
                {
                    ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                    Return (Zero)
                }

                L23R = One
                Local0 = Zero
                While (L23R)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                SCB0 = Zero
                Local0 = Zero
                While ((LASX == Zero))
                {
                    If ((Local0 > 0x08))
                    {
                        ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
            }

            Method (DL23, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                If (((LASX == One) && (LNRE == Zero)))
                {
                    If (((LSOE == One) || (LNSE == One)))
                    {
                        LNRE = One
                        Sleep (One)
                        LNRE = Zero
                        ADBG ("Toggle LNRE")
                    }
                }

                L23E = One
                Sleep (0x10)
                Local0 = Zero
                While (L23E)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                SCB0 = One
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
            }

            Name (LTRV, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (PRMV, Zero)
            Name (RD3C, 0x02)
            Method (PRES, 0, NotSerialized)
            {
                If ((VDID == 0xFFFFFFFF))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (One)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            Name (OPTS, Buffer (0x02)
                            {
                                 0x00, 0x00                                       // ..
                            })
                            CreateBitField (OPTS, Zero, FUN0)
                            CreateBitField (OPTS, 0x06, FUN6)
                            CreateBitField (OPTS, 0x08, FUN8)
                            CreateBitField (OPTS, 0x09, FUN9)
                            CreateBitField (OPTS, 0x0A, FUNA)
                            CreateBitField (OPTS, 0x0B, FUNB)
                            If ((Arg1 >= 0x02))
                            {
                                FUN0 = One
                                If ((LTEN != Zero))
                                {
                                    FUN6 = One
                                }

                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            FUN8 = One
                                            FUN9 = One
                                        }
                                    }
                                }
                            }

                            If ((Arg1 >= 0x04))
                            {
                                If (CondRefOf (PPBA))
                                {
                                    FUNA = One
                                }

                                If (CondRefOf (UPRD))
                                {
                                    FUNB = One
                                }
                            }

                            ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                            Return (OPTS) /* \_SB_.PC00.RP11._DSM.OPTS */
                        }
                        Case (0x06)
                        {
                            If ((Arg1 >= 0x02))
                            {
                                LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                LTRV [One] = (LMSL & 0x03FF)
                                LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                LTRV [0x03] = (LNSL & 0x03FF)
                                Return (LTRV) /* \_SB_.PC00.RP11.LTRV */
                            }
                        }
                        Case (0x08)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                        }
                        Case (0x09)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350, 
                                            Ones, 
                                            Ones, 
                                            0xC350, 
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                        Case (0x0A)
                        {
                            If (CondRefOf (PPBA))
                            {
                                Return (PPBA (Arg3))
                            }
                        }
                        Case (0x0B)
                        {
                            If (CondRefOf (UPRD))
                            {
                                Return (UPRD (Arg3))
                            }
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                Field (PCCX, ByteAcc, NoLock, Preserve)
                {
                    DVID,   32, 
                    Offset (0x09), 
                    PIXX,   8, 
                    SCCX,   8, 
                    BCCX,   8
                }

                Method (PAHC, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x06))
                        {
                            If ((PIXX == One))
                            {
                                ADBG ("PSSD AHCI")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PNVM, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x08))
                        {
                            If ((PIXX == 0x02))
                            {
                                ADBG ("PSSD NVMe")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PRES, 0, Serialized)
                {
                    If ((DVID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (ISGX, 0, Serialized)
                {
                    If ((BCCX == 0x03))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                        {
                            If ((PAHC () || PNVM ()))
                            {
                                ADBG ("NVMe D3 Support Enable for Child Device")
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            One
                                        }
                                    }
                                })
                            }
                            Else
                            {
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            Zero
                                        }
                                    }
                                })
                            }
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0xC7, 0x04))
                        }
                    }

                    Return (GPRW (0x69, 0x04))
                }
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS0))
                {
                    ADBG ("Calling Platform PCIE RP PS0 Hook")
                    PPS0 ()
                    ADBG ("Returned from Platform PCIE RP PS0 Hook")
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS3))
                {
                    ADBG ("Calling Platform PCIE RP PS3 Hook")
                    PPS3 ()
                    ADBG ("Returned from Platform PCIE RP PS3 Hook")
                }
            }

            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (ADSD))
                {
                    ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                    Return (ADSD ())
                }

                If (CondRefOf (PINI))
                {
                    Return (Package (0x04)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }, 

                        ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                        Package (0x00){}
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }
                    })
                }
            }

            Method (HPME, 0, Serialized)
            {
                If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                {
                    Notify (PXSX, 0x02) // Device Wake
                    PMSX = One
                    PSPX = One
                }
            }

            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (CondRefOf (PICM))
                {
                    If (PICM)
                    {
                        Return (AR04 ())
                    }
                }

                Return (PD04 ())
            }
        }

        Device (RP12)
        {
            Name (PBNU, Zero)
            Method (_ADR, 0, NotSerialized)  // _ADR: Address
            {
                If ((RPAC != Zero))
                {
                    Return (RPAC) /* \RPAC */
                }
                Else
                {
                    Return (0x00010000)
                }
            }

            Name (SLOT, 0x0C)
            Name (PRTP, 0x04)
            Name (LTEN, Zero)
            Name (LMSL, Zero)
            Name (LNSL, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                LTEN = LTRC /* \LTRC */
                LMSL = PMLC /* \PMLC */
                LNSL = PNLC /* \PNLC */
                If ((CondRefOf (VMSP) && CondRefOf (VMDE)))
                {
                    If (((VMDE == One) && ((VMSP & 0x20) != Zero)))
                    {
                        ADBG ("RP12 (0/1/0) is mapped under VMD")
                        PRMV = One
                    }
                }

                If (PRES ())
                {
                    If (CondRefOf (PINI))
                    {
                        PINI ()
                    }
                }

                If (CondRefOf (\_SB.PC00.RP12))
                {
                    If ((VDID != 0xFFFFFFFF))
                    {
                        If (CondRefOf (\STD3))
                        {
                            If (CondRefOf (\_SB.PC00.RP12.PRMV))
                            {
                                If ((PRMV == One))
                                {
                                    ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }

                            If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                            {
                                ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                RD3C = STD3 /* \STD3 */
                            }
                        }
                    }
                }
            }

            OperationRegion (PXCS, SystemMemory, PC2M (_ADR (), PBNU), 0x0480)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x50), 
                L0SE,   1, 
                    ,   3, 
                LDIS,   1, 
                Offset (0x51), 
                Offset (0x52), 
                    ,   13, 
                LASX,   1, 
                Offset (0x5A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                Offset (0x5B), 
                Offset (0x60), 
                Offset (0x62), 
                PSPX,   1, 
                Offset (0x68), 
                    ,   10, 
                LNRE,   1, 
                Offset (0xA4), 
                D3HT,   2, 
                Offset (0xD8), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1, 
                Offset (0xE0), 
                SCB0,   1, 
                    ,   6, 
                NCB7,   1, 
                Offset (0xE2), 
                    ,   2, 
                L23E,   1, 
                L23R,   1, 
                Offset (0x328), 
                Offset (0x32B), 
                LTSM,   8, 
                Offset (0x404), 
                LSOE,   1, 
                LNSE,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                Offset (0xDC), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Method (L23D, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                If ((SCB0 != One))
                {
                    ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                    Return (Zero)
                }

                L23R = One
                Local0 = Zero
                While (L23R)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                SCB0 = Zero
                Local0 = Zero
                While ((LASX == Zero))
                {
                    If ((Local0 > 0x08))
                    {
                        ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
            }

            Method (DL23, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                If (((LASX == One) && (LNRE == Zero)))
                {
                    If (((LSOE == One) || (LNSE == One)))
                    {
                        LNRE = One
                        Sleep (One)
                        LNRE = Zero
                        ADBG ("Toggle LNRE")
                    }
                }

                L23E = One
                Sleep (0x10)
                Local0 = Zero
                While (L23E)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                SCB0 = One
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
            }

            Name (LTRV, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (PRMV, Zero)
            Name (RD3C, 0x02)
            Method (PRES, 0, NotSerialized)
            {
                If ((VDID == 0xFFFFFFFF))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (One)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            Name (OPTS, Buffer (0x02)
                            {
                                 0x00, 0x00                                       // ..
                            })
                            CreateBitField (OPTS, Zero, FUN0)
                            CreateBitField (OPTS, 0x06, FUN6)
                            CreateBitField (OPTS, 0x08, FUN8)
                            CreateBitField (OPTS, 0x09, FUN9)
                            CreateBitField (OPTS, 0x0A, FUNA)
                            CreateBitField (OPTS, 0x0B, FUNB)
                            If ((Arg1 >= 0x02))
                            {
                                FUN0 = One
                                If ((LTEN != Zero))
                                {
                                    FUN6 = One
                                }

                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            FUN8 = One
                                            FUN9 = One
                                        }
                                    }
                                }
                            }

                            If ((Arg1 >= 0x04))
                            {
                                If (CondRefOf (PPBA))
                                {
                                    FUNA = One
                                }

                                If (CondRefOf (UPRD))
                                {
                                    FUNB = One
                                }
                            }

                            ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                            Return (OPTS) /* \_SB_.PC00.RP12._DSM.OPTS */
                        }
                        Case (0x06)
                        {
                            If ((Arg1 >= 0x02))
                            {
                                LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                LTRV [One] = (LMSL & 0x03FF)
                                LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                LTRV [0x03] = (LNSL & 0x03FF)
                                Return (LTRV) /* \_SB_.PC00.RP12.LTRV */
                            }
                        }
                        Case (0x08)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                        }
                        Case (0x09)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350, 
                                            Ones, 
                                            Ones, 
                                            0xC350, 
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                        Case (0x0A)
                        {
                            If (CondRefOf (PPBA))
                            {
                                Return (PPBA (Arg3))
                            }
                        }
                        Case (0x0B)
                        {
                            If (CondRefOf (UPRD))
                            {
                                Return (UPRD (Arg3))
                            }
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                Field (PCCX, ByteAcc, NoLock, Preserve)
                {
                    DVID,   32, 
                    Offset (0x09), 
                    PIXX,   8, 
                    SCCX,   8, 
                    BCCX,   8
                }

                Method (PAHC, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x06))
                        {
                            If ((PIXX == One))
                            {
                                ADBG ("PSSD AHCI")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PNVM, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x08))
                        {
                            If ((PIXX == 0x02))
                            {
                                ADBG ("PSSD NVMe")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PRES, 0, Serialized)
                {
                    If ((DVID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (ISGX, 0, Serialized)
                {
                    If ((BCCX == 0x03))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                        {
                            If ((PAHC () || PNVM ()))
                            {
                                ADBG ("NVMe D3 Support Enable for Child Device")
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            One
                                        }
                                    }
                                })
                            }
                            Else
                            {
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            Zero
                                        }
                                    }
                                })
                            }
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0xC7, 0x04))
                        }
                    }

                    Return (GPRW (0x69, 0x04))
                }
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS0))
                {
                    ADBG ("Calling Platform PCIE RP PS0 Hook")
                    PPS0 ()
                    ADBG ("Returned from Platform PCIE RP PS0 Hook")
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS3))
                {
                    ADBG ("Calling Platform PCIE RP PS3 Hook")
                    PPS3 ()
                    ADBG ("Returned from Platform PCIE RP PS3 Hook")
                }
            }

            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (ADSD))
                {
                    ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                    Return (ADSD ())
                }

                If (CondRefOf (PINI))
                {
                    Return (Package (0x04)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }, 

                        ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                        Package (0x00){}
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }
                    })
                }
            }

            Method (HPME, 0, Serialized)
            {
                If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                {
                    Notify (PXSX, 0x02) // Device Wake
                    PMSX = One
                    PSPX = One
                }
            }

            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (CondRefOf (PICM))
                {
                    If (PICM)
                    {
                        Return (AR04 ())
                    }
                }

                Return (PD04 ())
            }

            Scope (PXSX)
            {
                If ((DGBA != Zero))
                {
                    Device (PEGB)
                    {
                        Name (_ADR, 0x00010000)  // _ADR: Address
                        Device (PEGE)
                        {
                            Name (_ADR, Zero)  // _ADR: Address
                            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                            {
                                If ((Arg0 == ToUUID ("edbf573d-e352-4ce7-bf23-37ce9f8402b8") /* Unknown UUID */))
                                {
                                    Switch (ToInteger (Arg2))
                                    {
                                        Case (Zero)
                                        {
                                            If ((Arg1 == One))
                                            {
                                                Debug = "DG Supported Functions Bitmap "
                                                ADBG ("DG _DSM Fun0")
                                                Local0 = One
                                                If ((EDMX != Zero))
                                                {
                                                    ADBG ("Display Mux Supported")
                                                    Local0 |= 0x00200000
                                                }

                                                Local0 |= 0x00400000
                                                ADBG (Concatenate ("IGFX DSM Function Support = ", ToHexString (Local0)))
                                                Return (Local0)
                                            }
                                        }
                                        Case (0x15)
                                        {
                                            Name (DGDB, Buffer (0x05)
                                            {
                                                 0x00, 0x00, 0x00, 0x00, 0x00                     // .....
                                            })
                                            CreateDWordField (DGDB, Zero, DGDF)
                                            CreateByteField (DGDB, 0x04, DGSF)
                                            Local0 = One
                                            ADBG ("DG eDP _DSM (21)")
                                            If (((DerefOf (Arg3 [Zero]) & One) == Zero))
                                            {
                                                ADBG ("Get Current Disp Mux Status")
                                                GGOV (EDMX)
                                                Local0 = Zero
                                            }
                                            Else
                                            {
                                                ADBG ("Set Disp Mux Status")
                                                If (((DerefOf (Arg3 [Zero]) & 0x02) == Zero))
                                                {
                                                    ADBG ("Set Disp Mux to iGfx")
                                                    SGOV (EDMX, Zero)
                                                    Local0 = Zero
                                                }
                                                Else
                                                {
                                                    ADBG ("Set Disp Mux to dGfx")
                                                    SGOV (EDMX, One)
                                                    Local0 = Zero
                                                }
                                            }

                                            DGDF = (GGOV (EDMX) << One)
                                            DGSF = Local0
                                            ADBG (Concatenate ("ExitResult :: ", ToHexString (DGSF)))
                                            ADBG (Concatenate ("Current Mux :: ", ToHexString (DGDF)))
                                            Return (DGDB) /* \_SB_.PC00.RP12.PXSX.PEGB.PEGE._DSM.DGDB */
                                        }
                                        Case (0x16)
                                        {
                                            Switch (ToInteger (Arg3))
                                            {
                                                Case (Zero)
                                                {
                                                    If (CondRefOf (\_SB.PC00.LPCB.H_EC.LSTE))
                                                    {
                                                        ^^^^^LPCB.H_EC.ECWT (Zero, RefOf (^^^^^LPCB.H_EC.LSTE))
                                                        LIDS = Zero
                                                        CLID = Zero
                                                        ADBG ("Notify LID0")
                                                        Notify (^^^^^LPCB.H_EC.LID0, 0x80) // Status Change
                                                        ADBG ("OS Notified")
                                                        Return (Zero)
                                                    }
                                                    Else
                                                    {
                                                        ADBG ("Lid close failed")
                                                    }
                                                }
                                                Case (One)
                                                {
                                                    If (CondRefOf (\_SB.PC00.LPCB.H_EC.LSTE))
                                                    {
                                                        ^^^^^LPCB.H_EC.ECWT (One, RefOf (^^^^^LPCB.H_EC.LSTE))
                                                        LIDS = One
                                                        CLID = 0x03
                                                        ADBG ("Notify LID0")
                                                        Notify (^^^^^LPCB.H_EC.LID0, 0x80) // Status Change
                                                        ADBG ("OS Notified")
                                                        Return (Zero)
                                                    }
                                                    Else
                                                    {
                                                        ADBG ("Lid open failed")
                                                    }
                                                }
                                                Default
                                                {
                                                    Return (One)
                                                }

                                            }
                                        }

                                    }
                                }

                                Return (Buffer (One)
                                {
                                     0x00                                             // .
                                })
                            }

                            Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
                            {
                                DGDS = (Arg0 & 0x07)
                            }

                            Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
                            {
                                DNID = One
                                If ((DIDL != Zero))
                                {
                                    DGD1 = DGDL (DIDL)
                                }

                                If ((DDL2 != Zero))
                                {
                                    DGD2 = DGDL (DDL2)
                                }

                                If ((DDL3 != Zero))
                                {
                                    DGD3 = DGDL (DDL3)
                                }

                                If ((DDL4 != Zero))
                                {
                                    DGD4 = DGDL (DDL4)
                                }

                                If ((DDL5 != Zero))
                                {
                                    DGD5 = DGDL (DDL5)
                                }

                                If ((DDL6 != Zero))
                                {
                                    DGD6 = DGDL (DDL6)
                                }

                                If ((DDL7 != Zero))
                                {
                                    DGD7 = DGDL (DDL7)
                                }

                                If ((DDL8 != Zero))
                                {
                                    DGD8 = DGDL (DDL8)
                                }

                                If ((DDL9 != Zero))
                                {
                                    DGD9 = DGDL (DDL9)
                                }

                                If ((DD10 != Zero))
                                {
                                    DGDA = DGDL (DD10)
                                }

                                If ((DD11 != Zero))
                                {
                                    DGDB = DGDL (DD11)
                                }

                                If ((DD12 != Zero))
                                {
                                    DGDC = DGDL (DD12)
                                }

                                If ((DD13 != Zero))
                                {
                                    DGDD = DGDL (DD13)
                                }

                                If ((DD14 != Zero))
                                {
                                    DGDE = DGDL (DD14)
                                }

                                If ((DD15 != Zero))
                                {
                                    DGDF = DGDL (DD15)
                                }

                                If ((DNID == One))
                                {
                                    Name (TMP1, Package (0x01)
                                    {
                                        0xFFFFFFFF
                                    })
                                    TMP1 [Zero] = (0x00010000 | DGD1)
                                    Return (TMP1) /* \_SB_.PC00.RP12.PXSX.PEGB.PEGE._DOD.TMP1 */
                                }

                                If ((DNID == 0x02))
                                {
                                    Name (TMP2, Package (0x02)
                                    {
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF
                                    })
                                    TMP2 [Zero] = (0x00010000 | DGD1)
                                    TMP2 [One] = (0x00010000 | DGD2)
                                    Return (TMP2) /* \_SB_.PC00.RP12.PXSX.PEGB.PEGE._DOD.TMP2 */
                                }

                                If ((DNID == 0x03))
                                {
                                    Name (TMP3, Package (0x03)
                                    {
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF
                                    })
                                    TMP3 [Zero] = (0x00010000 | DGD1)
                                    TMP3 [One] = (0x00010000 | DGD2)
                                    TMP3 [0x02] = (0x00010000 | DGD3)
                                    Return (TMP3) /* \_SB_.PC00.RP12.PXSX.PEGB.PEGE._DOD.TMP3 */
                                }

                                If ((DNID == 0x04))
                                {
                                    Name (TMP4, Package (0x04)
                                    {
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF
                                    })
                                    TMP4 [Zero] = (0x00010000 | DGD1)
                                    TMP4 [One] = (0x00010000 | DGD2)
                                    TMP4 [0x02] = (0x00010000 | DGD3)
                                    TMP4 [0x03] = (0x00010000 | DGD4)
                                    Return (TMP4) /* \_SB_.PC00.RP12.PXSX.PEGB.PEGE._DOD.TMP4 */
                                }

                                If ((DNID == 0x05))
                                {
                                    Name (TMP5, Package (0x05)
                                    {
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF
                                    })
                                    TMP5 [Zero] = (0x00010000 | DGD1)
                                    TMP5 [One] = (0x00010000 | DGD2)
                                    TMP5 [0x02] = (0x00010000 | DGD3)
                                    TMP5 [0x03] = (0x00010000 | DGD4)
                                    TMP5 [0x04] = (0x00010000 | DGD5)
                                    Return (TMP5) /* \_SB_.PC00.RP12.PXSX.PEGB.PEGE._DOD.TMP5 */
                                }

                                If ((DNID == 0x06))
                                {
                                    Name (TMP6, Package (0x06)
                                    {
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF
                                    })
                                    TMP6 [Zero] = (0x00010000 | DGD1)
                                    TMP6 [One] = (0x00010000 | DGD2)
                                    TMP6 [0x02] = (0x00010000 | DGD3)
                                    TMP6 [0x03] = (0x00010000 | DGD4)
                                    TMP6 [0x04] = (0x00010000 | DGD5)
                                    TMP6 [0x05] = (0x00010000 | DGD6)
                                    Return (TMP6) /* \_SB_.PC00.RP12.PXSX.PEGB.PEGE._DOD.TMP6 */
                                }

                                If ((DNID == 0x07))
                                {
                                    Name (TMP7, Package (0x07)
                                    {
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF
                                    })
                                    TMP7 [Zero] = (0x00010000 | DGD1)
                                    TMP7 [One] = (0x00010000 | DGD2)
                                    TMP7 [0x02] = (0x00010000 | DGD3)
                                    TMP7 [0x03] = (0x00010000 | DGD4)
                                    TMP7 [0x04] = (0x00010000 | DGD5)
                                    TMP7 [0x05] = (0x00010000 | DGD6)
                                    TMP7 [0x06] = (0x00010000 | DGD7)
                                    Return (TMP7) /* \_SB_.PC00.RP12.PXSX.PEGB.PEGE._DOD.TMP7 */
                                }

                                If ((DNID == 0x08))
                                {
                                    Name (TMP8, Package (0x08)
                                    {
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF
                                    })
                                    TMP8 [Zero] = (0x00010000 | DGD1)
                                    TMP8 [One] = (0x00010000 | DGD2)
                                    TMP8 [0x02] = (0x00010000 | DGD3)
                                    TMP8 [0x03] = (0x00010000 | DGD4)
                                    TMP8 [0x04] = (0x00010000 | DGD5)
                                    TMP8 [0x05] = (0x00010000 | DGD6)
                                    TMP8 [0x06] = (0x00010000 | DGD7)
                                    TMP8 [0x07] = (0x00010000 | DGD8)
                                    Return (TMP8) /* \_SB_.PC00.RP12.PXSX.PEGB.PEGE._DOD.TMP8 */
                                }

                                If ((DNID == 0x09))
                                {
                                    Name (TMP9, Package (0x09)
                                    {
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF
                                    })
                                    TMP9 [Zero] = (0x00010000 | DGD1)
                                    TMP9 [One] = (0x00010000 | DGD2)
                                    TMP9 [0x02] = (0x00010000 | DGD3)
                                    TMP9 [0x03] = (0x00010000 | DGD4)
                                    TMP9 [0x04] = (0x00010000 | DGD5)
                                    TMP9 [0x05] = (0x00010000 | DGD6)
                                    TMP9 [0x06] = (0x00010000 | DGD7)
                                    TMP9 [0x07] = (0x00010000 | DGD8)
                                    TMP9 [0x08] = (0x00010000 | DGD9)
                                    Return (TMP9) /* \_SB_.PC00.RP12.PXSX.PEGB.PEGE._DOD.TMP9 */
                                }

                                If ((DNID == 0x0A))
                                {
                                    Name (TMPA, Package (0x0A)
                                    {
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF
                                    })
                                    TMPA [Zero] = (0x00010000 | DGD1)
                                    TMPA [One] = (0x00010000 | DGD2)
                                    TMPA [0x02] = (0x00010000 | DGD3)
                                    TMPA [0x03] = (0x00010000 | DGD4)
                                    TMPA [0x04] = (0x00010000 | DGD5)
                                    TMPA [0x05] = (0x00010000 | DGD6)
                                    TMPA [0x06] = (0x00010000 | DGD7)
                                    TMPA [0x07] = (0x00010000 | DGD8)
                                    TMPA [0x08] = (0x00010000 | DGD9)
                                    TMPA [0x09] = (0x00010000 | DGDA)
                                    Return (TMPA) /* \_SB_.PC00.RP12.PXSX.PEGB.PEGE._DOD.TMPA */
                                }

                                If ((DNID == 0x0B))
                                {
                                    Name (TMPB, Package (0x0B)
                                    {
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF
                                    })
                                    TMPB [Zero] = (0x00010000 | DGD1)
                                    TMPB [One] = (0x00010000 | DGD2)
                                    TMPB [0x02] = (0x00010000 | DGD3)
                                    TMPB [0x03] = (0x00010000 | DGD4)
                                    TMPB [0x04] = (0x00010000 | DGD5)
                                    TMPB [0x05] = (0x00010000 | DGD6)
                                    TMPB [0x06] = (0x00010000 | DGD7)
                                    TMPB [0x07] = (0x00010000 | DGD8)
                                    TMPB [0x08] = (0x00010000 | DGD9)
                                    TMPB [0x09] = (0x00010000 | DGDA)
                                    TMPB [0x0A] = (0x00010000 | DGDB)
                                    Return (TMPB) /* \_SB_.PC00.RP12.PXSX.PEGB.PEGE._DOD.TMPB */
                                }

                                If ((DNID == 0x0C))
                                {
                                    Name (TMPC, Package (0x0C)
                                    {
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF
                                    })
                                    TMPC [Zero] = (0x00010000 | DGD1)
                                    TMPC [One] = (0x00010000 | DGD2)
                                    TMPC [0x02] = (0x00010000 | DGD3)
                                    TMPC [0x03] = (0x00010000 | DGD4)
                                    TMPC [0x04] = (0x00010000 | DGD5)
                                    TMPC [0x05] = (0x00010000 | DGD6)
                                    TMPC [0x06] = (0x00010000 | DGD7)
                                    TMPC [0x07] = (0x00010000 | DGD8)
                                    TMPC [0x08] = (0x00010000 | DGD9)
                                    TMPC [0x09] = (0x00010000 | DGDA)
                                    TMPC [0x0A] = (0x00010000 | DGDB)
                                    TMPC [0x0B] = (0x00010000 | DGDC)
                                    Return (TMPC) /* \_SB_.PC00.RP12.PXSX.PEGB.PEGE._DOD.TMPC */
                                }

                                If ((DNID == 0x0D))
                                {
                                    Name (TMPD, Package (0x0D)
                                    {
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF
                                    })
                                    TMPD [Zero] = (0x00010000 | DGD1)
                                    TMPD [One] = (0x00010000 | DGD2)
                                    TMPD [0x02] = (0x00010000 | DGD3)
                                    TMPD [0x03] = (0x00010000 | DGD4)
                                    TMPD [0x04] = (0x00010000 | DGD5)
                                    TMPD [0x05] = (0x00010000 | DGD6)
                                    TMPD [0x06] = (0x00010000 | DGD7)
                                    TMPD [0x07] = (0x00010000 | DGD8)
                                    TMPD [0x08] = (0x00010000 | DGD9)
                                    TMPD [0x09] = (0x00010000 | DGDA)
                                    TMPD [0x0A] = (0x00010000 | DGDB)
                                    TMPD [0x0B] = (0x00010000 | DGDC)
                                    TMPD [0x0C] = (0x00010000 | DGDD)
                                    Return (TMPD) /* \_SB_.PC00.RP12.PXSX.PEGB.PEGE._DOD.TMPD */
                                }

                                If ((DNID == 0x0E))
                                {
                                    Name (TMPE, Package (0x0E)
                                    {
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF
                                    })
                                    TMPE [Zero] = (0x00010000 | DGD1)
                                    TMPE [One] = (0x00010000 | DGD2)
                                    TMPE [0x02] = (0x00010000 | DGD3)
                                    TMPE [0x03] = (0x00010000 | DGD4)
                                    TMPE [0x04] = (0x00010000 | DGD5)
                                    TMPE [0x05] = (0x00010000 | DGD6)
                                    TMPE [0x06] = (0x00010000 | DGD7)
                                    TMPE [0x07] = (0x00010000 | DGD8)
                                    TMPE [0x08] = (0x00010000 | DGD9)
                                    TMPE [0x09] = (0x00010000 | DGDA)
                                    TMPE [0x0A] = (0x00010000 | DGDB)
                                    TMPE [0x0B] = (0x00010000 | DGDC)
                                    TMPE [0x0C] = (0x00010000 | DGDD)
                                    TMPE [0x0D] = (0x00010000 | DGDE)
                                    Return (TMPE) /* \_SB_.PC00.RP12.PXSX.PEGB.PEGE._DOD.TMPE */
                                }

                                If ((DNID == 0x0F))
                                {
                                    Name (TMPF, Package (0x0F)
                                    {
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF
                                    })
                                    TMPF [Zero] = (0x00010000 | DGD1)
                                    TMPF [One] = (0x00010000 | DGD2)
                                    TMPF [0x02] = (0x00010000 | DGD3)
                                    TMPF [0x03] = (0x00010000 | DGD4)
                                    TMPF [0x04] = (0x00010000 | DGD5)
                                    TMPF [0x05] = (0x00010000 | DGD6)
                                    TMPF [0x06] = (0x00010000 | DGD7)
                                    TMPF [0x07] = (0x00010000 | DGD8)
                                    TMPF [0x08] = (0x00010000 | DGD9)
                                    TMPF [0x09] = (0x00010000 | DGDA)
                                    TMPF [0x0A] = (0x00010000 | DGDB)
                                    TMPF [0x0B] = (0x00010000 | DGDC)
                                    TMPF [0x0C] = (0x00010000 | DGDD)
                                    TMPF [0x0D] = (0x00010000 | DGDE)
                                    TMPF [0x0E] = (0x00010000 | DGDF)
                                    Return (TMPF) /* \_SB_.PC00.RP12.PXSX.PEGB.PEGE._DOD.TMPF */
                                }

                                If ((DNID == 0x10))
                                {
                                    Name (TMPG, Package (0x10)
                                    {
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF, 
                                        0xFFFFFFFF
                                    })
                                    TMPG [Zero] = (0x00010000 | DGD1)
                                    TMPG [One] = (0x00010000 | DGD2)
                                    TMPG [0x02] = (0x00010000 | DGD3)
                                    TMPG [0x03] = (0x00010000 | DGD4)
                                    TMPG [0x04] = (0x00010000 | DGD5)
                                    TMPG [0x05] = (0x00010000 | DGD6)
                                    TMPG [0x06] = (0x00010000 | DGD7)
                                    TMPG [0x07] = (0x00010000 | DGD8)
                                    TMPG [0x08] = (0x00010000 | DGD9)
                                    TMPG [0x09] = (0x00010000 | DGDA)
                                    TMPG [0x0A] = (0x00010000 | DGDB)
                                    TMPG [0x0B] = (0x00010000 | DGDC)
                                    TMPG [0x0C] = (0x00010000 | DGDD)
                                    TMPG [0x0D] = (0x00010000 | DGDE)
                                    TMPG [0x0E] = (0x00010000 | DGDF)
                                    Return (TMPG) /* \_SB_.PC00.RP12.PXSX.PEGB.PEGE._DOD.TMPG */
                                }

                                Return (Package (0x01)
                                {
                                    0x0400
                                })
                            }

                            Device (DEDP)
                            {
                                Method (_ADR, 0, Serialized)  // _ADR: Address
                                {
                                    If (((0x0F00 & DGD1) == 0x0400))
                                    {
                                        DGDX = DGD1 /* External reference */
                                        Return ((0xFFFF & DGDX))
                                    }
                                    ElseIf (((0x0F00 & DGD2) == 0x0400))
                                    {
                                        DGDX = DGD2 /* External reference */
                                        Return ((0xFFFF & DGDX))
                                    }
                                    ElseIf (((0x0F00 & DGD3) == 0x0400))
                                    {
                                        DGDX = DGD3 /* External reference */
                                        Return ((0xFFFF & DGDX))
                                    }
                                    ElseIf (((0x0F00 & DGD4) == 0x0400))
                                    {
                                        DGDX = DGD4 /* External reference */
                                        Return ((0xFFFF & DGDX))
                                    }
                                    ElseIf (((0x0F00 & DGD5) == 0x0400))
                                    {
                                        DGDX = DGD5 /* External reference */
                                        Return ((0xFFFF & DGDX))
                                    }
                                    ElseIf (((0x0F00 & DGD6) == 0x0400))
                                    {
                                        DGDX = DGD6 /* External reference */
                                        Return ((0xFFFF & DGDX))
                                    }
                                    ElseIf (((0x0F00 & DGD7) == 0x0400))
                                    {
                                        DGDX = DGD7 /* External reference */
                                        Return ((0xFFFF & DGDX))
                                    }
                                    ElseIf (((0x0F00 & DGD8) == 0x0400))
                                    {
                                        DGDX = DGD8 /* External reference */
                                        Return ((0xFFFF & DGDX))
                                    }
                                    ElseIf (((0x0F00 & DGD9) == 0x0400))
                                    {
                                        DGDX = DGD9 /* External reference */
                                        Return ((0xFFFF & DGDX))
                                    }
                                    ElseIf (((0x0F00 & DGDA) == 0x0400))
                                    {
                                        DGDX = DGDA /* External reference */
                                        Return ((0xFFFF & DGDX))
                                    }
                                    ElseIf (((0x0F00 & DGDB) == 0x0400))
                                    {
                                        DGDX = DGDB /* External reference */
                                        Return ((0xFFFF & DGDX))
                                    }
                                    ElseIf (((0x0F00 & DGDC) == 0x0400))
                                    {
                                        DGDX = DGDC /* External reference */
                                        Return ((0xFFFF & DGDX))
                                    }
                                    ElseIf (((0x0F00 & DGDD) == 0x0400))
                                    {
                                        DGDX = DGDD /* External reference */
                                        Return ((0xFFFF & DGDX))
                                    }
                                    ElseIf (((0x0F00 & DGDE) == 0x0400))
                                    {
                                        DGDX = DGDE /* External reference */
                                        Return ((0xFFFF & DGDX))
                                    }
                                    ElseIf (((0x0F00 & DGDF) == 0x0400))
                                    {
                                        DGDX = DGDF /* External reference */
                                        Return ((0xFFFF & DGDX))
                                    }
                                    Else
                                    {
                                        ADBG ("DG: eDP is not present")
                                        Return (0x1F)
                                    }
                                }

                                Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
                                {
                                    Return (Package (0x67)
                                    {
                                        0x50, 
                                        0x32, 
                                        Zero, 
                                        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, 
                                        0x47, 
                                        0x48, 
                                        0x49, 
                                        0x4A, 
                                        0x4B, 
                                        0x4C, 
                                        0x4D, 
                                        0x4E, 
                                        0x4F, 
                                        0x50, 
                                        0x51, 
                                        0x52, 
                                        0x53, 
                                        0x54, 
                                        0x55, 
                                        0x56, 
                                        0x57, 
                                        0x58, 
                                        0x59, 
                                        0x5A, 
                                        0x5B, 
                                        0x5C, 
                                        0x5D, 
                                        0x5E, 
                                        0x5F, 
                                        0x60, 
                                        0x61, 
                                        0x62, 
                                        0x63, 
                                        0x64
                                    })
                                }

                                Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
                                {
                                    If (((Arg0 >= Zero) && (Arg0 <= 0x64)))
                                    {
                                        BCLP = ((Arg0 * 0xFF) / 0x64)
                                        BCLP |= 0x80000000
                                        ASLC = 0x02
                                        DBRL = Arg0
                                    }
                                }

                                Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
                                {
                                    Return (DBRL) /* External reference */
                                }
                            }

                            Method (DGDL, 1, NotSerialized)
                            {
                                DNID++
                                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)
                                }

                                If ((DDL9 == Local0))
                                {
                                    Return (Local1)
                                }

                                If ((DD10 == Local0))
                                {
                                    Return (Local1)
                                }

                                If ((DD11 == Local0))
                                {
                                    Return (Local1)
                                }

                                If ((DD12 == Local0))
                                {
                                    Return (Local1)
                                }

                                If ((DD13 == Local0))
                                {
                                    Return (Local1)
                                }

                                If ((DD14 == Local0))
                                {
                                    Return (Local1)
                                }

                                If ((DD15 == Local0))
                                {
                                    Return (Local1)
                                }

                                Return (Zero)
                            }
                        }
                    }
                }
            }
        }
    }

    Scope (_SB.PC00.LPCB)
    {
        Device (HPET)
        {
            Name (_HID, EisaId ("PNP0103") /* HPET System Timer */)  // _HID: Hardware ID
            Name (_UID, Zero)  // _UID: Unique ID
            Name (BUF0, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0xFED00000,         // Address Base
                    0x00000400,         // Address Length
                    _Y4A)
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (HPTE)
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                If (HPTE)
                {
                    CreateDWordField (BUF0, \_SB.PC00.LPCB.HPET._Y4A._BAS, HPT0)  // _BAS: Base Address
                    HPT0 = HPTB /* \HPTB */
                }

                Return (BUF0) /* \_SB_.PC00.LPCB.HPET.BUF0 */
            }
        }

        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 (MATH)
        {
            Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */)  // _HID: Hardware ID
            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
            {
                IO (Decode16,
                    0x00F0,             // Range Minimum
                    0x00F0,             // Range Maximum
                    0x01,               // Alignment
                    0x01,               // Length
                    )
                IRQNoFlags ()
                    {13}
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((PCHS == PCHH))
                {
                    Return (0x1F)
                }
                Else
                {
                    Return (Zero)
                }
            }
        }

        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,
                    0x002E,             // Range Minimum
                    0x002E,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                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
                    0x01,               // 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,
                    0x164E,             // Range Minimum
                    0x164E,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
            })
        }

        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
                    )
                IRQNoFlags ()
                    {8}
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((STAS == One))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }
        }

        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 (CWDT)
        {
            Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
            {
                If ((((CPID & 0x0FFF0FF0) == 0x000C0650) || ((CPID & 0x0FFF0FF0
                    ) == 0x000B0650)))
                {
                    Return ("INTC109F")
                }
                ElseIf ((((CPID & 0x0FFF0FF0) == 0x000C0660) || ((CPID & 
                    0x0FFF0FF0) == 0x000C06A0)))
                {
                    Return ("INTC109F")
                }
                Else
                {
                    Return ("INTC109D")
                }
            }

            Name (_CID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _CID: Compatible ID
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Return (0x0F)
            }

            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (RBUF, ResourceTemplate ()
                {
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x04,               // Alignment
                        0x04,               // Length
                        _Y4B)
                })
                CreateWordField (RBUF, \_SB.PC00.LPCB.CWDT._CRS._Y4B._MIN, OMIN)  // _MIN: Minimum Base Address
                CreateWordField (RBUF, \_SB.PC00.LPCB.CWDT._CRS._Y4B._MAX, OMAX)  // _MAX: Maximum Base Address
                OMIN = (PMBS + 0x54)
                OMAX = (PMBS + 0x54)
                Return (RBUF) /* \_SB_.PC00.LPCB.CWDT._CRS.RBUF */
            }
        }

        Method (ACCF, 1, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                If ((Zero == Arg0))
                {
                    ^H_EC.UPCF (Zero)
                }
            }
        }

        Method (NBIX, 0, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                Notify (^H_EC.BAT0, 0x81) // Information Change
                Notify (^H_EC.BAT1, 0x81) // Information Change
            }
        }

        Method (NBST, 0, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                Notify (^H_EC.BAT0, 0x80) // Status Change
                Notify (^H_EC.BAT1, 0x80) // Status Change
            }
        }

        Method (SWUB, 4, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                If (((Arg0 == 0x03) || (Arg0 == 0x04)))
                {
                    If ((Arg1 & 0x40))
                    {
                        If ((Arg2 & 0x08))
                        {
                            ^H_EC.UPBT (0x06, One)
                        }
                        Else
                        {
                            ^H_EC.UPBT (0x06, Zero)
                        }
                    }

                    If ((Arg1 & 0x80))
                    {
                        If ((Arg2 & 0x10))
                        {
                            ^H_EC.UPBT (0x07, One)
                        }
                        Else
                        {
                            ^H_EC.UPBT (0x07, Zero)
                        }
                    }

                    ^H_EC.ONTM = One
                    LIDS = ^H_EC.ERLD ()
                    If (Arg3)
                    {
                        If ((LIDS == Zero))
                        {
                            ^^GFX0.CLID = 0x80000000
                        }

                        If ((LIDS == One))
                        {
                            ^^GFX0.CLID = 0x80000003
                        }
                    }

                    Notify (^H_EC.LID0, 0x80) // Status Change
                    Local0 = ^H_EC.ERB1 ()
                    ^H_EC.BNUM = ((Local0 & 0x08) >> 0x03)
                    ADBG (Concatenate ("BNUM resume from Sx: ", ToHexString (^H_EC.BNUM)))
                    If ((^H_EC.BNUM == Zero))
                    {
                        If ((^H_EC.ERVP () != PWRS))
                        {
                            PWRS = ^H_EC.ERVP ()
                            SPNT ()
                            BPNT ()
                        }
                    }
                    ElseIf ((^H_EC.ERAP () != PWRS))
                    {
                        PWRS = ^H_EC.ERAP ()
                        SPNT ()
                        BPNT ()
                    }

                    If ((^^^PWRB.PBST == One))
                    {
                        If (PBSS)
                        {
                            Notify (PWRB, 0x02) // Device Wake
                            PBSS = One
                        }
                    }
                }
            }
        }

        Method (PGWD, 4, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                ^H_EC.UTEC (Zero, Arg0)
                ^H_EC.UTEC (One, Arg1)
                ^H_EC.UTEC (0x02, Arg2)
                ^H_EC.UTEC (0x03, Arg3)
            }
        }

        Method (PGCL, 0, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                ^H_EC.PGER ()
            }
        }

        Method (MXTP, 0, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                Local0 = ^H_EC.ERMT ()
                Local0 = (0x0AAC + (Local0 * 0x0A))
                Return (Local0)
            }

            Return (0x0BC2)
        }

        Method (UPFS, 3, Serialized)
        {
            If ((CondRefOf (\_SB.PC00.LPCB.H_EC) && Arg0))
            {
                If (((Arg1 != Zero) && (Arg2 != Zero)))
                {
                    ^H_EC.UPFS (One, AC0F)
                }
                ElseIf (((Arg1 == Zero) && (Arg2 != Zero)))
                {
                    ^H_EC.UPFS (One, AC1F)
                }
                Else
                {
                    ^H_EC.UPFS (One, Zero)
                }
            }
        }

        Method (TSDD, 2, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                Local0 = ((^H_EC.ERPH () * 0x0A) + 0x0AAC)
                Local1 = ^H_EC.ERSP ()
                Local2 = ^H_EC.ERPM ()
                Local3 = ^H_EC.ERPD ()
                Local4 = ^H_EC.ERPH ()
                If ((Arg0 == One))
                {
                    Arg1 [Zero] = Local0
                    Arg1 [One] = Local0
                    Arg1 [0x02] = Local0
                    Arg1 [0x03] = Local0
                    Arg1 [0x04] = Local0
                    Arg1 [0x06] = (DerefOf (Local1 [One]) + 0x0AAC
                        )
                    Arg1 [0x07] = (DerefOf (Local1 [0x02]) + 0x0AAC
                        )
                    Arg1 [0x08] = (DerefOf (Local1 [0x03]) + 0x0AAC
                        )
                    Arg1 [0x09] = (DerefOf (Local1 [0x04]) + 0x0AAC
                        )
                    Arg1 [0x09] = ((Local2 * 0x0A) + 0x0AAC)
                    Arg1 [0x0A] = ((Local3 * 0x0A) + 0x0AAC)
                    Arg1 [0x0B] = ((Local4 * 0x0A) + 0x0AAC)
                }
                Else
                {
                    Arg1 [Zero] = Local0
                    Arg1 [One] = Local0
                    Arg1 [0x02] = Local0
                    Arg1 [0x03] = Local0
                    Arg1 [0x04] = Local0
                    Arg1 [0x05] = (DerefOf (Local1 [Zero]) + 0x0AAC
                        )
                    Arg1 [0x06] = (DerefOf (Local1 [One]) + 0x0AAC
                        )
                    Arg1 [0x07] = (DerefOf (Local1 [0x02]) + 0x0AAC
                        )
                    Arg1 [0x08] = (DerefOf (Local1 [0x03]) + 0x0AAC
                        )
                    Arg1 [0x09] = (DerefOf (Local1 [0x04]) + 0x0AAC
                        )
                    Arg1 [0x0A] = ((Local2 * 0x0A) + 0x0AAC)
                    Arg1 [0x0B] = ((Local3 * 0x0A) + 0x0AAC)
                    Arg1 [0x0C] = ((Local4 * 0x0A) + 0x0AAC)
                }
            }

            If ((Arg0 == One))
            {
                Arg1 [0x0D] = \_TZ.TZ00._TMP ()
            }
            Else
            {
                Arg1 [0x0E] = \_TZ.TZ00._TMP ()
            }

            Return (Arg1)
        }

        Method (PSDD, 1, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                Arg0 [Zero] = Zero
                Arg0 [One] = Zero
                Arg0 [0x02] = Zero
                Local0 = ^H_EC.ERBP ()
                Arg0 [0x06] = DerefOf (Local0 [Zero])
                Arg0 [0x07] = DerefOf (Local0 [One])
                Arg0 [0x08] = DerefOf (Local0 [0x02])
                Arg0 [0x09] = DerefOf (Local0 [0x03])
                Arg0 [0x0A] = DerefOf (Local0 [0x04])
                Arg0 [0x0B] = DerefOf (Local0 [0x05])
                Arg0 [0x0C] = DerefOf (Local0 [0x06])
                Arg0 [0x0D] = DerefOf (Local0 [0x07])
                Arg0 [0x0E] = DerefOf (Local0 [0x08])
                Arg0 [0x0F] = DerefOf (Local0 [0x09])
                Arg0 [0x10] = DerefOf (Local0 [0x0A])
                Local0 = ^H_EC.ERBA ()
                If (Local0)
                {
                    Local0 = ~Local0 |= 0xFFFF0000
                    Local0 = (Local0 += One * 0x0A)
                }

                Arg0 [0x11] = Local0
                Arg0 [0x12] = Zero
            }

            Return (Arg0)
        }

        Method (OSDD, 2, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                If ((Arg0 == One))
                {
                    Arg1 [Zero] = ^H_EC.ERPN ()
                    Arg1 [One] = ^H_EC.ERCF ()
                    Arg1 [0x02] = DerefOf (^H_EC.ERSP () [0x02])
                }
                Else
                {
                    Arg1 [Zero] = ^H_EC.ERPN ()
                    Arg1 [One] = ^H_EC.ERCF ()
                }

                Return (Arg1)
            }

            Return (Package (0x00){})
        }

        Method (RPMD, 0, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                Return (^H_EC.ERPC ())
            }

            Return (Buffer (0x1A){})
        }

        Method (WPMD, 1, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                ^H_EC.WPED (Arg0)
            }
        }

        Method (ISPC, 0, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                ^H_EC.SPET ()
            }
        }

        Method (ENPC, 0, NotSerialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                ^H_EC.EPET ()
            }
        }

        Method (RPCS, 0, NotSerialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                Return (^H_EC.ERPS ())
            }

            Return (Zero)
        }

        Method (RPEC, 0, NotSerialized)
        {
            Local0 = Zero
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                Local1 = ^H_EC.ERPE ()
                Local0 |= DerefOf (Local1 [Zero])
                Local0 |= (DerefOf (Local1 [One]) << 0x08)
                Local0 |= (DerefOf (Local1 [0x02]) << 0x10)
                Local0 |= (DerefOf (Local1 [0x03]) << 0x18)
            }

            Return (Local0)
        }

        Method (UPDK, 1, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.UPBT))
            {
                ^H_EC.UPBT (0x90, Arg0)
            }
        }

        Method (NTIR, 1, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.ECNT))
            {
                ^H_EC.ECNT (Arg0)
            }
        }

        Method (WKEC, 0, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                If ((LIDS != ^H_EC.ERLD ()))
                {
                    LIDS = ^H_EC.ERLD ()
                    If (IGDS)
                    {
                        If (^^GFX0.GLID (LIDS))
                        {
                            ^^GFX0.CLID |= 0x80000000 /* External reference */
                        }
                    }

                    If ((DGBA != Zero))
                    {
                        If (^^RP12.DLID (LIDS))
                        {
                            ^^RP12.CLID |= 0x80000000 /* External reference */
                        }
                    }

                    Notify (^H_EC.LID0, 0x80) // Status Change
                }
                Else
                {
                    If ((^H_EC.BNUM == Zero))
                    {
                        If ((PWRS != ^H_EC.ERVP ()))
                        {
                            PWRS = ^H_EC.ERVP ()
                            SPNT ()
                            BPNT ()
                        }
                    }

                    Notify (PWRB, 0x02) // Device Wake
                }
            }
        }

        Method (NRTS, 1, Serialized)
        {
            If (CondRefOf (RPSG))
            {
                If ((RPSG != Zero))
                {
                    ^^^PGPI.SGOV (RPSG, Arg0)
                }
            }
        }

        Method (XDAT, 0, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC))
            {
                Return (^H_EC.XDAT ())
            }

            Return (Zero)
        }

        Scope (\_SB.PC00.LPCB)
        {
            Device (Q_EC)
            {
                Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */)  // _HID: Hardware ID
                Name (_UID, One)  // _UID: Unique ID
                Name (ECAV, Zero)
                Mutex (ECMT, 0x00)
                Mutex (GPMT, 0x00)
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (BFFR, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0062,             // Range Minimum
                            0x0062,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0066,             // Range Minimum
                            0x0066,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                    })
                    Return (BFFR) /* \_SB_.PC00.LPCB.Q_EC._CRS.BFFR */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((ECON == One))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                OperationRegion (PRT0, SystemIO, 0x80, 0x04)
                Field (PRT0, DWordAcc, Lock, Preserve)
                {
                    P80H,   32
                }

                OperationRegion (ERAM, SystemMemory, 0xFE0B0300, 0x0100)
                Field (ERAM, ByteAcc, Lock, Preserve)
                {
                    ECMV,   8, 
                    ECSV,   8, 
                    ECTV,   8, 
                    ECKV,   8, 
                    ECDV,   8, 
                    ECNA,   16, 
                    ECNB,   8, 
                    TSR0,   8, 
                    TSR1,   8, 
                    TSR2,   8, 
                    TSR3,   8, 
                    TSR4,   8, 
                    TSR5,   8, 
                    TSR6,   8, 
                    TSR7,   8, 
                    TSR8,   8, 
                    TSR9,   8, 
                    TSRA,   8, 
                    TSRB,   8, 
                    LSTE,   1, 
                    LID2,   1, 
                    BKTS,   1, 
                    EKTS,   1, 
                    LDRV,   4, 
                    LDSW,   1, 
                    LIDR,   7, 
                    OKF0,   1, 
                    OKF1,   1, 
                    OKF2,   1, 
                    OKF3,   1, 
                    OKF4,   1, 
                    GGTF,   1, 
                    CPLK,   1, 
                    OKRV,   1, 
                    TXLK,   1, 
                    ECUP,   1, 
                    FNSP,   1, 
                    TSLN,   1, 
                    MIUT,   1, 
                    FNRV,   3, 
                    AOUF,   2, 
                        ,   1, 
                    CALE,   1, 
                    CAST,   1, 
                    IKBW,   1, 
                    WOUB,   1, 
                    Offset (0x19), 
                    DKIN,   1, 
                    DKPW,   1, 
                    DKRS,   1, 
                    WFEN,   1, 
                    TPEN,   1, 
                    BLOF,   1, 
                    ODRV,   2, 
                    GFXF,   1, 
                    Offset (0x1B), 
                    Offset (0x1C), 
                    SMPT,   8, 
                    SMST,   8, 
                    SMAD,   8, 
                    SMCD,   8, 
                    SMDA,   256, 
                    SMBT,   8, 
                    SMAA,   8, 
                    SMD1,   8, 
                    SMD2,   8, 
                    Offset (0x4C), 
                    TSI,    4, 
                    HYST,   4, 
                    TSHT,   8, 
                    TSLT,   8, 
                    TSST,   1, 
                    Offset (0x50), 
                    Offset (0x56), 
                    TSSR,   8, 
                    Offset (0x60), 
                    QFAN,   8, 
                    Offset (0x62), 
                    SCFG,   8, 
                    HBPF,   8, 
                    PCMD,   8, 
                    OSTP,   8, 
                    PJID,   8, 
                    Offset (0x6E), 
                    SMMD,   8, 
                    Offset (0x80), 
                    ACIN,   1, 
                    BTIN,   1, 
                    BTST,   4, 
                    FCST,   1, 
                    PWRV,   1, 
                    ADPW,   8, 
                    BTSN,   16, 
                    BTDC,   16, 
                    BTDV,   16, 
                    BTFC,   16, 
                    BTTP,   16, 
                    BTCT,   16, 
                    BTPR,   16, 
                    BTVT,   16, 
                    RSOC,   8, 
                    BSB0,   1, 
                    BSB1,   1, 
                    BSB2,   1, 
                    BSB3,   1, 
                    BSB4,   1, 
                    BSB5,   1, 
                    BSB6,   1, 
                    BSB7,   1, 
                    BSB8,   1, 
                    BSB9,   1, 
                    BSBA,   1, 
                    BSBB,   1, 
                    BSBC,   1, 
                    BSBD,   1, 
                    BSBE,   1, 
                    BSBF,   1, 
                    BTCC,   16, 
                    BATM,   16, 
                    Offset (0x9A), 
                    MFGD,   16, 
                    BATT,   16, 
                    Offset (0x9F), 
                    BTID,   8, 
                    PSC0,   8, 
                    PSC1,   8, 
                    PSC2,   8, 
                    PSC3,   8, 
                    LONL,   8, 
                    AFBC,   8, 
                    Offset (0xA7), 
                    HBDA,   8, 
                    HBNT,   8, 
                    Offset (0xAB), 
                    SOH1,   8, 
                    UCBT,   8, 
                    Offset (0xAF), 
                    SEGM,   8, 
                        ,   7, 
                    EOBF,   1, 
                    Offset (0xB2), 
                    KBLL,   7, 
                    KBMD,   1, 
                    FEST,   8, 
                    CSSD,   8, 
                    OSDT,   1, 
                    Offset (0xC0), 
                    VER1,   8, 
                    VER2,   8, 
                    RSV1,   8, 
                    RSV2,   8, 
                    CCI0,   8, 
                    CCI1,   8, 
                    CCI2,   8, 
                    CCI3,   8, 
                    CTL0,   8, 
                    CTL1,   8, 
                    CTL2,   8, 
                    CTL3,   8, 
                    CTL4,   8, 
                    CTL5,   8, 
                    CTL6,   8, 
                    CTL7,   8, 
                    MGI0,   8, 
                    MGI1,   8, 
                    MGI2,   8, 
                    MGI3,   8, 
                    MGI4,   8, 
                    MGI5,   8, 
                    MGI6,   8, 
                    MGI7,   8, 
                    MGI8,   8, 
                    MGI9,   8, 
                    MGIA,   8, 
                    MGIB,   8, 
                    MGIC,   8, 
                    MGID,   8, 
                    MGIE,   8, 
                    MGIF,   8, 
                    MGO0,   8, 
                    MGO1,   8, 
                    MGO2,   8, 
                    MGO3,   8, 
                    MGO4,   8, 
                    MGO5,   8, 
                    MGO6,   8, 
                    MGO7,   8, 
                    MGO8,   8, 
                    MGO9,   8, 
                    MGOA,   8, 
                    MGOB,   8, 
                    MGOC,   8, 
                    MGOD,   8, 
                    MGOE,   8, 
                    MGOF,   8, 
                    USDC,   8, 
                    USGC,   8, 
                    ECWK,   1, 
                    Offset (0xF3), 
                    ENEX,   8
                }

                OperationRegion (SMA2, SystemMemory, 0xFE0B0A00, 0x0100)
                Field (SMA2, ByteAcc, Lock, Preserve)
                {
                    CMDB,   8, 
                    STAT,   8, 
                    DATL,   8, 
                    DAT0,   8, 
                    DAT1,   8, 
                    DAT2,   8, 
                    DAT3,   8, 
                    DAT4,   8, 
                    DAT5,   8, 
                    DAT6,   8, 
                    DAT7,   8, 
                    DAT8,   8, 
                    DAT9,   8, 
                    DATA,   8, 
                    DATB,   8, 
                    DATC,   8, 
                    Offset (0xC0), 
                    BAMN,   128, 
                    BADN,   128, 
                    BASN,   256
                }

                Method (ECRD, 1, Serialized)
                {
                    Local0 = Acquire (ECMT, 0x03E8)
                    If ((Local0 == Zero))
                    {
                        If (ECAV)
                        {
                            Local1 = DerefOf (Arg0)
                            Release (ECMT)
                            Return (Local1)
                        }
                        Else
                        {
                            Release (ECMT)
                        }
                    }

                    Return (Zero)
                }

                Method (ECWT, 2, Serialized)
                {
                    Local0 = Acquire (ECMT, 0x03E8)
                    If ((Local0 == Zero))
                    {
                        If (ECAV)
                        {
                            Arg1 = Arg0
                        }

                        Release (ECMT)
                    }
                }

                Method (RDER, 1, Serialized)
                {
                    Local0 = Acquire (ECMT, 0x07D0)
                    If ((Local0 == Zero))
                    {
                        Local1 = Arg0
                        Local1 &= 0xFF
                        Local2 = (Arg0 >> 0x08)
                        Local2 &= 0xFF
                        DAT0 = Local2
                        DAT1 = Local1
                        DATL = One
                        CMDB = 0x80
                        Local0 = 0x0100
                        While ((Local0 && CMDB))
                        {
                            Sleep (0x02)
                            Local0--
                        }

                        If (((CMDB == Zero) && (STAT == 0x80)))
                        {
                            Local0 = DAT0 /* \_SB_.PC00.LPCB.Q_EC.DAT0 */
                        }
                        Else
                        {
                            Local0 = 0xFF
                        }

                        Release (ECMT)
                        Return (Local0)
                    }

                    Return (0xFF)
                }

                Name (BTBS, 0x0860)
                Name (BTNM, 0x40)
                Name (BTCH, 0x20)
                Name (BTMF, 0x30)
                Method (RDIF, 1, Serialized)
                {
                    Switch (ToInteger (Arg0))
                    {
                        Case (One)
                        {
                            Name (BTDN, Buffer (0x0E)
                            {
                                 0x00                                             // .
                            })
                            Local1 = 0x0E
                            Local2 = BTBS /* \_SB_.PC00.LPCB.Q_EC.BTBS */
                            Local3 = BTNM /* \_SB_.PC00.LPCB.Q_EC.BTNM */
                            While (Local1)
                            {
                                BTDN [(0x0E - Local1)] = RDER ((Local2 + Local3
                                    ))
                                Local3++
                                Local1--
                            }

                            Return (BTDN) /* \_SB_.PC00.LPCB.Q_EC.RDIF.BTDN */
                        }
                        Case (0x02)
                        {
                            Name (BTCM, Buffer (0x08)
                            {
                                 0x00                                             // .
                            })
                            Local1 = 0x08
                            Local2 = BTBS /* \_SB_.PC00.LPCB.Q_EC.BTBS */
                            Local3 = BTCH /* \_SB_.PC00.LPCB.Q_EC.BTCH */
                            While (Local1)
                            {
                                BTCM [(0x08 - Local1)] = RDER ((Local2 + Local3
                                    ))
                                Local3++
                                Local1--
                            }

                            Return (BTCM) /* \_SB_.PC00.LPCB.Q_EC.RDIF.BTCM */
                        }
                        Case (0x03)
                        {
                            Name (BTMN, Buffer (0x10)
                            {
                                 0x00                                             // .
                            })
                            Local1 = 0x10
                            Local2 = BTBS /* \_SB_.PC00.LPCB.Q_EC.BTBS */
                            Local3 = BTMF /* \_SB_.PC00.LPCB.Q_EC.BTMF */
                            While (Local1)
                            {
                                BTMN [(0x10 - Local1)] = RDER ((Local2 + Local3
                                    ))
                                Local3++
                                Local1--
                            }

                            Return (BTMN) /* \_SB_.PC00.LPCB.Q_EC.RDIF.BTMN */
                        }

                    }
                }

                Method (WTER, 2, Serialized)
                {
                    Local0 = Acquire (ECMT, 0x07D0)
                    If ((Local0 == Zero))
                    {
                        DAT0 = 0x4D
                        CMDB = 0x29
                        Local0 = 0x0100
                        While ((Local0 && CMDB))
                        {
                            Sleep (0x02)
                            Local0--
                        }

                        If ((CMDB != Zero))
                        {
                            Local0 = 0xFF
                            Release (ECMT)
                            Return (Local0)
                        }

                        Local1 = Arg0
                        Local1 &= 0xFF
                        Local2 = (Arg0 >> 0x08)
                        Local2 &= 0xFF
                        DAT0 = Local2
                        DAT1 = Local1
                        DAT2 = Arg1
                        DATL = One
                        CMDB = 0x81
                        Local0 = 0x0100
                        While ((Local0 && CMDB))
                        {
                            Sleep (0x02)
                            Local0--
                        }

                        If ((CMDB == Zero))
                        {
                            Local0 = Zero
                        }
                        Else
                        {
                            Local0 = 0xFF
                        }

                        Release (ECMT)
                        Return (Local0)
                    }

                    Release (ECMT)
                    Return (0xFF)
                }

                Method (ECCC, 4, Serialized)
                {
                    Local0 = Acquire (ECMT, 0x07D0)
                    If ((Local0 == Zero))
                    {
                        DAT0 = Arg1
                        DAT1 = Arg2
                        DAT2 = Arg3
                        CMDB = Arg0
                        Local0 = 0x0100
                        While ((Local0 && CMDB))
                        {
                            Sleep (0x02)
                            Local0--
                        }

                        If ((CMDB == Zero))
                        {
                            Local0 = Zero
                        }
                        Else
                        {
                            Local0 = 0xFF
                        }

                        Release (ECMT)
                        Return (Local0)
                    }

                    Release (ECMT)
                    Return (0xFF)
                }

                OperationRegion (CMDE, SystemIO, 0x62, 0x0B)
                Field (CMDE, ByteAcc, Lock, Preserve)
                {
                    EC62,   8, 
                    Offset (0x02), 
                    Offset (0x03), 
                    Offset (0x04), 
                    EC66,   8, 
                    Offset (0x06), 
                    EC68,   8, 
                    Offset (0x08), 
                    Offset (0x09), 
                    Offset (0x0A), 
                    EC6C,   8
                }

                Method (ECD2, 2, Serialized)
                {
                    While ((EC6C & 0x02))
                    {
                        Sleep (0x0A)
                    }

                    EC6C = Arg0
                    While ((EC6C & 0x02))
                    {
                        Sleep (0x0A)
                    }

                    EC68 = Arg1
                    While ((EC6C & 0x02))
                    {
                        Sleep (0x0A)
                    }
                }

                Method (WIBE, 1, Serialized)
                {
                    Local0 = Acquire (ECMT, 0x03E8)
                    If ((Local0 == Zero))
                    {
                        Local0 = 0x00010000
                        While (Local0)
                        {
                            If ((Arg0 == One))
                            {
                                Local1 = EC66 /* \_SB_.PC00.LPCB.Q_EC.EC66 */
                            }
                            ElseIf ((Arg0 == 0x02))
                            {
                                Local1 = EC6C /* \_SB_.PC00.LPCB.Q_EC.EC6C */
                            }
                            Else
                            {
                                Release (ECMT)
                                Return (0x02)
                            }

                            If (((Local1 & 0x02) == Zero))
                            {
                                Release (ECMT)
                                Return (Zero)
                            }

                            Stall (0x0A)
                            Local0--
                        }

                        Release (ECMT)
                    }

                    Return (One)
                }

                Method (WOBF, 1, Serialized)
                {
                    Local0 = Acquire (ECMT, 0x03E8)
                    If ((Local0 == Zero))
                    {
                        Local0 = 0x00010000
                        While (Local0)
                        {
                            If ((Arg0 == One))
                            {
                                Local1 = EC66 /* \_SB_.PC00.LPCB.Q_EC.EC66 */
                            }
                            ElseIf ((Arg0 == 0x02))
                            {
                                Local1 = EC6C /* \_SB_.PC00.LPCB.Q_EC.EC6C */
                            }
                            Else
                            {
                                Release (ECMT)
                                Return (0x02)
                            }

                            If (((Local1 & One) == One))
                            {
                                Release (ECMT)
                                Return (Zero)
                            }

                            Stall (0x0A)
                            Local0--
                        }

                        Release (ECMT)
                    }

                    Return (One)
                }

                Method (WOBE, 1, Serialized)
                {
                    Local0 = Acquire (ECMT, 0x03E8)
                    If ((Local0 == Zero))
                    {
                        Local0 = 0x00010000
                        While (Local0)
                        {
                            If ((Arg0 == One))
                            {
                                Local1 = EC66 /* \_SB_.PC00.LPCB.Q_EC.EC66 */
                            }
                            ElseIf ((Arg0 == 0x02))
                            {
                                Local1 = EC6C /* \_SB_.PC00.LPCB.Q_EC.EC6C */
                            }
                            Else
                            {
                                Release (ECMT)
                                Return (0x02)
                            }

                            If (((Local1 & One) == One))
                            {
                                If ((Arg0 == One))
                                {
                                    Local2 = EC62 /* \_SB_.PC00.LPCB.Q_EC.EC62 */
                                }
                                ElseIf ((Arg0 == 0x02))
                                {
                                    Local2 = EC68 /* \_SB_.PC00.LPCB.Q_EC.EC68 */
                                }
                                Else
                                {
                                    Release (ECMT)
                                    Return (0x02)
                                }
                            }
                            Else
                            {
                                Release (ECMT)
                                Return (Zero)
                            }

                            Stall (0x0A)
                            Local0--
                        }

                        Release (ECMT)
                    }

                    Return (One)
                }

                Method (ECMD, 1, Serialized)
                {
                    If ((WIBE (One) != Zero))
                    {
                        Return (One)
                    }

                    If ((WOBE (One) != Zero))
                    {
                        Return (One)
                    }

                    EC66 = Arg0
                }

                Method (SRAM, 2, Serialized)
                {
                    If ((WIBE (One) != Zero))
                    {
                        Return (One)
                    }

                    If ((WOBE (One) != Zero))
                    {
                        Return (One)
                    }

                    EC66 = 0x92
                    If ((WIBE (One) != Zero))
                    {
                        Return (One)
                    }

                    EC62 = Arg0
                    If ((WIBE (One) != Zero))
                    {
                        Return (One)
                    }

                    EC62 = Arg1
                    If ((WIBE (One) != Zero))
                    {
                        Return (One)
                    }

                    If ((WOBF (One) != Zero))
                    {
                        Return (One)
                    }

                    Return (EC62) /* \_SB_.PC00.LPCB.Q_EC.EC62 */
                }

                Method (_GPE, 0, NotSerialized)  // _GPE: General Purpose Events
                {
                    If (ESPI)
                    {
                        Local0 = 0x6E
                    }
                    Else
                    {
                        Local0 = GGPE (0x00141080)
                        If ((SRSP != Zero))
                        {
                            Local0 = GGPE (SRSP)
                        }
                    }

                    Return (Local0)
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((_REV >= 0x02))
                    {
                        ECAV = One
                        Return (Zero)
                    }
                }

                Method (_REG, 2, NotSerialized)  // _REG: Region Availability
                {
                    If ((Arg0 == 0x03))
                    {
                        ECAV = Arg1
                    }

                    If (((Arg0 == 0x03) && (Arg1 == One)))
                    {
                        If ((OSYS == 0x07D6))
                        {
                            Local0 = One
                        }

                        If ((OSYS == 0x03E8))
                        {
                            Local0 = 0x02
                        }

                        If ((OSYS == 0x07D9))
                        {
                            Local0 = 0x03
                        }

                        If ((OSYS == 0x07DC))
                        {
                            Local0 = 0x04
                        }

                        If ((OSYS == 0x07DD))
                        {
                            Local0 = 0x05
                        }

                        If ((OSYS == 0x07DF))
                        {
                            Local0 = 0x06
                        }

                        If ((Acquire (ECMT, 0xA000) == Zero))
                        {
                            OSTP = Local0
                            If ((LSTE == Zero))
                            {
                                ^^^GFX0.CLID = Zero
                            }

                            If ((LSTE == One))
                            {
                                ^^^GFX0.CLID = 0x03
                            }

                            LIDS = LSTE /* \_SB_.PC00.LPCB.Q_EC.LSTE */
                            Release (ECMT)
                        }
                    }
                }

                Method (FUNR, 1, Serialized)
                {
                    Switch (ToInteger (Arg0))
                    {
                        Case (0x16)
                        {
                            Return (QFAN) /* \_SB_.PC00.LPCB.Q_EC.QFAN */
                        }
                        Case (0x17)
                        {
                            Return (FNSP) /* \_SB_.PC00.LPCB.Q_EC.FNSP */
                        }
                        Case (0x18)
                        {
                        }
                        Case (0x19)
                        {
                            Return (CPLK) /* \_SB_.PC00.LPCB.Q_EC.CPLK */
                        }
                        Case (0x20)
                        {
                            Return (MIUT) /* \_SB_.PC00.LPCB.Q_EC.MIUT */
                        }

                    }
                }

                Method (NTDP, 1, Serialized)
                {
                    If ((Arg0 == 0x03))
                    {
                        ODV1 = One
                        Notify (IETM, 0x88) // Device-Specific
                    }
                    ElseIf ((Arg0 == 0x02))
                    {
                        ODV1 = 0x02
                        Notify (IETM, 0x88) // Device-Specific
                    }
                    ElseIf ((Arg0 == 0x04))
                    {
                        ODV1 = 0x04
                        Notify (IETM, 0x88) // Device-Specific
                    }
                    ElseIf ((Arg0 == 0x05))
                    {
                        ODV1 = 0x05
                        Notify (IETM, 0x88) // Device-Specific
                    }
                    ElseIf ((Arg0 == 0x06))
                    {
                        ODV1 = 0x06
                        Notify (IETM, 0x88) // Device-Specific
                    }
                    Else
                    {
                        ODV1 = Zero
                        Notify (IETM, 0x88) // Device-Specific
                    }
                }

                Method (_Q04, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x04)
                    ^^^WMID.QV20 (One, 0x21)
                }

                Method (_Q05, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x05)
                    Notify (^^^GFX0.DD1F, 0x87) // Device-Specific
                }

                Method (_Q06, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x06)
                    Notify (^^^GFX0.DD1F, 0x86) // Device-Specific
                }

                Method (_Q07, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x07)
                    ^^^WMID.QV20 (One, One)
                }

                Method (_Q08, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x08)
                    ^^^WMID.QV20 (One, 0x02)
                }

                Method (_Q09, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x09)
                    ^^^WMID.QV20 (One, 0x1B)
                }

                Method (_Q0A, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x0A)
                    Sleep (0x0A)
                    Notify (BAT0, 0x81) // Information Change
                    Sleep (0x0A)
                    Notify (ADP1, 0x80) // Status Change
                    If ((ACIN & One))
                    {
                        PWRS = One
                    }
                    Else
                    {
                        PWRS = Zero
                    }
                }

                Method (_Q0B, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    Sleep (0x0A)
                    Notify (BAT0, 0x81) // Information Change
                    Sleep (0x0A)
                    Notify (BAT0, 0x80) // Status Change
                }

                Method (_Q0C, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x0C)
                    LIDS = Zero
                    ^^^GFX0.GLID (LIDS)
                    Notify (LID0, 0x80) // Status Change
                }

                Method (_Q0D, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x0D)
                    LIDS = One
                    ^^^GFX0.GLID (LIDS)
                    Notify (LID0, 0x80) // Status Change
                }

                Method (_Q0E, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x0E)
                }

                Method (_Q0F, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x0F)
                }

                Method (_Q10, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x10)
                    ^^^WMID.QV20 (One, 0x05)
                }

                Method (_Q11, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x11)
                }

                Method (_Q12, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x12)
                }

                Method (_Q13, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x13)
                    ^^^WMID.QV20 (One, 0x07)
                }

                Method (_Q14, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x14)
                    ^^^WMID.QV20 (One, 0x09)
                }

                Method (_Q15, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x15)
                }

                Method (_Q16, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x16)
                }

                Method (_Q17, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x17)
                }

                Method (_Q18, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x18)
                }

                Method (_Q24, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x24)
                    SMMD = Zero
                    ^^^WMID.QV20 (One, 0x16)
                    NTDP (QFAN)
                }

                Method (_Q25, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x25)
                    ^^^WMID.QV20 (One, 0x1A)
                }

                Method (_Q26, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x26)
                    ^^^WMID.QV20 (One, 0x10)
                }

                Method (_Q27, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x27)
                    ^^^WMID.QV20 (One, 0x11)
                }

                Method (_Q28, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x28)
                }

                Method (_Q29, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x29)
                    ^^^WMID.QV20 (One, 0x12)
                }

                Method (_Q2A, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x2A)
                    ^^^WMID.QV20 (One, 0x13)
                }

                Method (_Q2B, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x2B)
                    ^^^WMID.QV20 (One, 0x14)
                }

                Method (_Q2C, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x2C)
                    ^^^WMID.QV20 (One, 0x15)
                }

                Method (_Q2D, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x2D)
                    ^^^WMID.QV20 (One, 0x18)
                }

                Method (_Q2E, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x2E)
                    ^^^WMID.QV20 (One, 0x19)
                }

                Method (_Q2F, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x2F)
                }

                Method (_Q30, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x30)
                    NTDP (QFAN)
                }

                Method (_Q31, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x31)
                    ODV2 = One
                    Notify (IETM, 0x88) // Device-Specific
                }

                Method (_Q32, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x32)
                    ODV2 = Zero
                    Notify (IETM, 0x88) // Device-Specific
                }

                Method (_Q35, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    P8XH (Zero, 0x35)
                    SSMP = 0xC2
                }

                Method (_Q41, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    P8XH (Zero, 0x41)
                    ^^^WMID.QV20 (0x04, One)
                }

                Method (_Q61, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    D8XH (Zero, 0x61)
                    Sleep (0x01F4)
                    Notify (BAT0, 0x81) // Information Change
                    Sleep (0x01F4)
                    Notify (BAT0, 0x80) // Status Change
                }

                Method (_Q79, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
                {
                    Local0 = Acquire (ECMT, 0x03E8)
                    If ((Local0 == Zero))
                    {
                        Local0 = Timer
                        ^^^^UBTC.MGI0 = MGI0 /* \_SB_.PC00.LPCB.Q_EC.MGI0 */
                        ^^^^UBTC.MGI1 = MGI1 /* \_SB_.PC00.LPCB.Q_EC.MGI1 */
                        ^^^^UBTC.MGI2 = MGI2 /* \_SB_.PC00.LPCB.Q_EC.MGI2 */
                        ^^^^UBTC.MGI3 = MGI3 /* \_SB_.PC00.LPCB.Q_EC.MGI3 */
                        ^^^^UBTC.MGI4 = MGI4 /* \_SB_.PC00.LPCB.Q_EC.MGI4 */
                        ^^^^UBTC.MGI5 = MGI5 /* \_SB_.PC00.LPCB.Q_EC.MGI5 */
                        ^^^^UBTC.MGI6 = MGI6 /* \_SB_.PC00.LPCB.Q_EC.MGI6 */
                        ^^^^UBTC.MGI7 = MGI7 /* \_SB_.PC00.LPCB.Q_EC.MGI7 */
                        ^^^^UBTC.MGI8 = MGI8 /* \_SB_.PC00.LPCB.Q_EC.MGI8 */
                        ^^^^UBTC.MGI9 = MGI9 /* \_SB_.PC00.LPCB.Q_EC.MGI9 */
                        ^^^^UBTC.MGIA = MGIA /* \_SB_.PC00.LPCB.Q_EC.MGIA */
                        ^^^^UBTC.MGIB = MGIB /* \_SB_.PC00.LPCB.Q_EC.MGIB */
                        ^^^^UBTC.MGIC = MGIC /* \_SB_.PC00.LPCB.Q_EC.MGIC */
                        ^^^^UBTC.MGID = MGID /* \_SB_.PC00.LPCB.Q_EC.MGID */
                        ^^^^UBTC.MGIE = MGIE /* \_SB_.PC00.LPCB.Q_EC.MGIE */
                        ^^^^UBTC.MGIF = MGIF /* \_SB_.PC00.LPCB.Q_EC.MGIF */
                        ^^^^UBTC.VER1 = VER1 /* \_SB_.PC00.LPCB.Q_EC.VER1 */
                        ^^^^UBTC.VER2 = VER2 /* \_SB_.PC00.LPCB.Q_EC.VER2 */
                        ^^^^UBTC.RSV1 = RSV1 /* \_SB_.PC00.LPCB.Q_EC.RSV1 */
                        ^^^^UBTC.RSV2 = RSV2 /* \_SB_.PC00.LPCB.Q_EC.RSV2 */
                        ^^^^UBTC.CCI0 = CCI0 /* \_SB_.PC00.LPCB.Q_EC.CCI0 */
                        ^^^^UBTC.CCI1 = CCI1 /* \_SB_.PC00.LPCB.Q_EC.CCI1 */
                        ^^^^UBTC.CCI2 = CCI2 /* \_SB_.PC00.LPCB.Q_EC.CCI2 */
                        ^^^^UBTC.CCI3 = CCI3 /* \_SB_.PC00.LPCB.Q_EC.CCI3 */
                        USGC = 0xE1
                        CCI0 = Zero
                        CCI3 = Zero
                        Local1 = ((Timer - Local0) / 0x2710)
                        Notify (UBTC, 0x80) // Status Change
                        Release (ECMT)
                    }
                }

                Device (ADP1)
                {
                    Name (_HID, "ACPI0003" /* Power Source Device */)  // _HID: Hardware ID
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((ECON == One))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_PSR, 0, NotSerialized)  // _PSR: Power Source
                    {
                        If (ECAV)
                        {
                            If ((Acquire (ECMT, 0xA000) == Zero))
                            {
                                If ((ACIN & One))
                                {
                                    PWRS = One
                                }
                                Else
                                {
                                    PWRS = Zero
                                }

                                Release (ECMT)
                                Return (PWRS) /* \PWRS */
                            }
                        }
                    }

                    Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
                    {
                        Return (Package (0x01)
                        {
                            _SB
                        })
                    }
                }

                Device (LID0)
                {
                    Name (_HID, EisaId ("PNP0C0D") /* Lid Device */)  // _HID: Hardware ID
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((ECON == One))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_LID, 0, NotSerialized)  // _LID: Lid Status
                    {
                        Local0 = Acquire (ECMT, 0x03E8)
                        If ((Local0 == Zero))
                        {
                            If ((ECRD (RefOf (LSTE)) == Zero))
                            {
                                ^^^^GFX0.CLID = Zero
                                Return (Zero)
                            }
                            Else
                            {
                                ^^^^GFX0.CLID = 0x03
                                Return (One)
                            }
                        }
                    }
                }

                Device (BAT0)
                {
                    Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
                    Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                    {
                        Return (One)
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (ECAV)
                        {
                            If ((Acquire (ECMT, 0xA000) == Zero))
                            {
                                Local0 = BTIN /* \_SB_.PC00.LPCB.Q_EC.BTIN */
                                Release (ECMT)
                            }

                            If ((Local0 & One))
                            {
                                Return (0x1F)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Method (_BIF, 0, Serialized)  // _BIF: Battery Information
                    {
                        Name (BPK1, Package (0x0D)
                        {
                            Zero, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            One, 
                            0xFFFFFFFF, 
                            Zero, 
                            Zero, 
                            0x0100, 
                            0x40, 
                            "BASE-BAT", 
                            "12345678", 
                            "LION", 
                            "TIMI"
                        })
                        Return (BPK1) /* \_SB_.PC00.LPCB.Q_EC.BAT0._BIF.BPK1 */
                    }

                    Method (_BIX, 0, Serialized)  // _BIX: Battery Information Extended
                    {
                        Name (BPK1, Package (0x15)
                        {
                            Zero, 
                            Zero, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            One, 
                            0xFFFFFFFF, 
                            Zero, 
                            Zero, 
                            0xFFFFFFFF, 
                            0x00017318, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0x0100, 
                            0x40, 
                            "BASE-BAT", 
                            "12345678", 
                            "LION", 
                            "TIMI", 
                            One
                        })
                        If (ECAV)
                        {
                            If ((Acquire (ECMT, 0xA000) == Zero))
                            {
                                If (((BTDV && BTFC) && BTDC))
                                {
                                    BPK1 [One] = Zero
                                    BPK1 [0x02] = ((BTDC * BTDV) / 0x03E8)
                                    BPK1 [0x03] = ((BTFC * BTDV) / 0x03E8)
                                    BPK1 [0x05] = BTDV /* \_SB_.PC00.LPCB.Q_EC.BTDV */
                                    Local0 = BTFC /* \_SB_.PC00.LPCB.Q_EC.BTFC */
                                    Local0 *= 0x0A
                                    Divide (Local0, 0x64, Local1, Local2)
                                    BPK1 [0x06] = ((Local2 * BTDV) / 0x03E8)
                                    Local0 = BTFC /* \_SB_.PC00.LPCB.Q_EC.BTFC */
                                    Local3 = ECWK /* \_SB_.PC00.LPCB.Q_EC.ECWK */
                                    Local4 = RSOC /* \_SB_.PC00.LPCB.Q_EC.RSOC */
                                    If ((Local3 == One))
                                    {
                                        ECWK = Zero
                                        If ((Local4 == 0x07))
                                        {
                                            Local0 *= 0x07
                                            Divide (Local0, 0x64, Local1, Local2)
                                            BPK1 [0x07] = ((Local2 * BTDV) / 0x03E8)
                                        }
                                        Else
                                        {
                                            Local0 *= 0x02
                                            Divide (Local0, 0x64, Local1, Local2)
                                            BPK1 [0x07] = ((Local2 * BTDV) / 0x03E8)
                                        }
                                    }
                                    Else
                                    {
                                        Local0 *= 0x02
                                        Divide (Local0, 0x64, Local1, Local2)
                                        BPK1 [0x07] = ((Local2 * BTDV) / 0x03E8)
                                    }

                                    BPK1 [0x09] = 0x251C
                                }

                                BPK1 [0x10] = BADN /* \_SB_.PC00.LPCB.Q_EC.BADN */
                                BPK1 [0x11] = BASN /* \_SB_.PC00.LPCB.Q_EC.BASN */
                                BPK1 [0x13] = BAMN /* \_SB_.PC00.LPCB.Q_EC.BAMN */
                            }

                            Release (ECMT)
                            Return (BPK1) /* \_SB_.PC00.LPCB.Q_EC.BAT0._BIX.BPK1 */
                        }
                    }

                    Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
                    {
                        If (ECAV)
                        {
                            If (Arg0)
                            {
                                If (((BTFC != Zero) && (BTDV != Zero)))
                                {
                                    BTTP = Arg0
                                }
                            }
                        }
                    }

                    Method (_BST, 0, Serialized)  // _BST: Battery Status
                    {
                        Name (PKG1, Package (0x04)
                        {
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF
                        })
                        If ((ECAV == One))
                        {
                            If ((Acquire (ECMT, 0xA000) == Zero))
                            {
                                Local0 = FCST /* \_SB_.PC00.LPCB.Q_EC.FCST */
                                Switch (BTST)
                                {
                                    Case (Zero)
                                    {
                                        Local1 = Zero
                                    }
                                    Case (One)
                                    {
                                        Local1 = 0x02
                                    }
                                    Case (0x02)
                                    {
                                        Local1 = One
                                    }
                                    Case (0x04)
                                    {
                                        Local1 = 0x04
                                    }

                                }

                                Local1 |= (Local0 << 0x03)
                                PKG1 [Zero] = Local1
                                PKG1 [One] = ((BTCT * BTVT) / 0x03E8)
                                PKG1 [0x02] = ((BTPR * BTDV) / 0x03E8)
                                PKG1 [0x03] = BTVT /* \_SB_.PC00.LPCB.Q_EC.BTVT */
                                Release (ECMT)
                                Return (PKG1) /* \_SB_.PC00.LPCB.Q_EC.BAT0._BST.PKG1 */
                            }
                        }
                    }

                    Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
                    {
                        Return (Package (0x01)
                        {
                            _SB
                        })
                    }
                }

                Device (BAT1)
                {
                    Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
                    Name (_UID, One)  // _UID: Unique ID
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        Return (Zero)
                    }
                }
            }

            Scope (\_SB)
            {
                Device (PWRB)
                {
                    Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */)  // _HID: Hardware ID
                    Name (PBST, One)
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        Return (0x0F)
                    }
                }
            }
        }

        OperationRegion (PKBS, SystemIO, 0x60, 0x05)
        Field (PKBS, ByteAcc, Lock, Preserve)
        {
            PKBD,   8, 
            Offset (0x04), 
            PKBC,   8
        }

        Device (PS2K)
        {
            Name (_HID, EisaId ("PNP030B"))  // _HID: Hardware ID
            Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */)  // _CID: Compatible ID
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (SCMK)
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
            {
                IO (Decode16,
                    0x0060,             // Range Minimum
                    0x0060,             // Range Maximum
                    0x01,               // Alignment
                    0x01,               // Length
                    )
                IO (Decode16,
                    0x0064,             // Range Minimum
                    0x0064,             // Range Maximum
                    0x01,               // Alignment
                    0x01,               // Length
                    )
                IRQ (Edge, ActiveHigh, Exclusive, )
                    {1}
            })
        }

        Device (PS2M)
        {
            Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */)  // _HID: Hardware ID
            Name (_CID, EisaId ("PNP0F03") /* Microsoft PS/2-style Mouse */)  // _CID: Compatible ID
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (P2ME)
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
            {
                IRQ (Edge, ActiveHigh, Exclusive, )
                    {12}
            })
        }
    }

    Mutex (MUTX, 0x00)
    Mutex (OSUM, 0x00)
    Mutex (WWMT, 0x00)
    Mutex (CNMT, 0x00)
    OperationRegion (PRT0, SystemIO, 0x80, 0x02)
    Field (PRT0, WordAcc, Lock, Preserve)
    {
        P80B,   16
    }

    Name (P80T, Zero)
    Method (D8XH, 2, Serialized)
    {
        If ((Arg0 == Zero))
        {
            P80T = ((P80T & 0xFF00) | Arg1)
        }

        If ((Arg0 == One))
        {
            P80T = ((P80T & 0xFF) | (Arg1 << 0x08))
        }

        P80B = P80T /* \P80T */
    }

    Method (P8XH, 2, Serialized)
    {
        If (CondRefOf (MDBG))
        {
            D8XH (Arg0, Arg1)
        }
    }

    OperationRegion (U3F8, SystemIO, 0x03F8, 0x10)
    Field (U3F8, ByteAcc, Lock, Preserve)
    {
        TXBF,   8, 
        DLM,    8, 
        FCR,    8, 
        LCR,    8
    }

    Method (SDBG, 1, Serialized)
    {
        Switch (OSDP)
        {
            Case (Zero)
            {
                Name (TXBU, Zero)
                Name (DLBU, Zero)
                Name (FCBU, Zero)
                Name (LCBU, Zero)
                TXBU = TXBF /* \TXBF */
                DLBU = DLM /* \DLM_ */
                FCBU = FCR /* \FCR_ */
                LCBU = LCR /* \LCR_ */
                LCR = 0x83
                TXBF = One
                DLM = Zero
                FCR = 0xE1
                LCR = 0x03
                DLM = Zero
                ToHexString (Arg0, Local3)
                Local4 = SizeOf (Local3)
                Local5 = Zero
                While ((Local5 < Local4))
                {
                    Mid (Local3, Local5, One, TXBF) /* \TXBF */
                    Stall (0x64)
                    Local5++
                }

                Stall (0x64)
                TXBF = 0x0D
                Stall (0x64)
                TXBF = 0x0A
                TXBF = TXBU /* \SDBG.TXBU */
                DLM = DLBU /* \SDBG.DLBU */
                FCR = FCBU /* \SDBG.FCBU */
                LCR = LCBU /* \SDBG.LCBU */
            }
            Case (One)
            {
                OperationRegion (U1CF, SystemMemory, UC00, 0x20)
                Field (U1CF, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x10), 
                    BA00,   64
                }

                OperationRegion (U1B0, SystemMemory, (BA00 & 0xFFFFFFFFFFFFF000), 0x10)
                Field (U1B0, ByteAcc, Lock, Preserve)
                {
                    U1TX,   8, 
                    U1DH,   8, 
                    U1FC,   8, 
                    U1LC,   8, 
                    U1AF,   8
                }

                U1LC = 0x83
                U1TX = One
                U1DH = Zero
                U1FC = 0xE1
                U1LC = 0x03
                U1DH = Zero
                U1AF = 0x02
                ToHexString (Arg0, Local3)
                Local4 = SizeOf (Local3)
                Local5 = Zero
                While ((Local5 < Local4))
                {
                    Mid (Local3, Local5, One, U1TX) /* \SDBG.U1TX */
                    Stall (0x64)
                    Local5++
                }

                Stall (0x64)
                U1TX = 0x0D
                Stall (0x64)
                U1TX = 0x0A
            }
            Case (0x03)
            {
                OperationRegion (U2CF, SystemMemory, UC02, 0x20)
                Field (U2CF, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x10), 
                    BAR0,   64
                }

                OperationRegion (U2B0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x10)
                Field (U2B0, ByteAcc, Lock, Preserve)
                {
                    U2TX,   8, 
                    U2DH,   8, 
                    U2FC,   8, 
                    U2LC,   8
                }

                U2LC = 0x83
                U2TX = One
                U2DH = Zero
                U2FC = 0xE1
                U2LC = 0x03
                U2DH = Zero
                ToHexString (Arg0, Local3)
                Local4 = SizeOf (Local3)
                Local5 = Zero
                While ((Local5 < Local4))
                {
                    Mid (Local3, Local5, One, U2TX) /* \SDBG.U2TX */
                    Stall (0x64)
                    Local5++
                }

                Stall (0x64)
                U2TX = 0x0D
                Stall (0x64)
                U2TX = 0x0A
            }

        }
    }

    OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
    Field (SPRT, ByteAcc, Lock, Preserve)
    {
        SSMP,   8
    }

    Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
    {
        GPIC = Arg0
        PICM = Arg0
    }

    Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
    {
        D8XH (Zero, Arg0)
        D8XH (One, Zero)
        ADBG (Concatenate ("_PTS=", ToHexString (Arg0)))
        If (((Arg0 == 0x04) || (Arg0 == 0x05)))
        {
            If ((PG3S == One))
            {
                If (CondRefOf (\_SB.PC00.LPCB.H_EC))
                {
                    If ((PCHS == 0x04))
                    {
                        ADBG (Concatenate ("PG3 ACWA value =", ToHexString (\_SB.PC02.PPMC.ACWA)))
                        ADBG (Concatenate ("PG3 DCWA value =", ToHexString (\_SB.PC02.PPMC.DCWA)))
                        ADBG (Concatenate ("PG3 ACET value =", ToHexString (\_SB.PC02.PPMC.ACET)))
                        ADBG (Concatenate ("PG3 DCET value =", ToHexString (\_SB.PC02.PPMC.DCET)))
                        \_SB.PC00.LPCB.PGWD (\_SB.PC02.PPMC.ACWA, \_SB.PC02.PPMC.DCWA, \_SB.PC02.PPMC.ACET, \_SB.PC02.PPMC.DCET)
                    }
                    Else
                    {
                        ADBG (Concatenate ("PG3 ACWA value =", ToHexString (ACWA)))
                        ADBG (Concatenate ("PG3 DCWA value =", ToHexString (DCWA)))
                        ADBG (Concatenate ("PG3 ACET value =", ToHexString (ACET)))
                        ADBG (Concatenate ("PG3 DCET value =", ToHexString (DCET)))
                        \_SB.PC00.LPCB.PGWD (ACWA, DCWA, ACET, DCET)
                    }

                    \_SB.PC00.LPCB.PGCL ()
                }
            }
        }

        If (CondRefOf (\_SB.TPM.PTS))
        {
            \_SB.TPM.PTS (Arg0)
        }

        SPTS (Arg0)
        If ((PFLV == 0x02))
        {
            If (CondRefOf (\ECON))
            {
                If ((ECON == One))
                {
                    ADBG ("[TCSS] 3rd PD PS_ON Sx")
                    If (CondRefOf (\_SB.PC00.LPCB.H_EC.ECNT))
                    {
                        \_SB.PC00.LPCB.H_EC.ECNT (0x04)
                    }
                }
            }
        }
    }

    Method (PBCL, 0, NotSerialized)
    {
        Return (Package (0x67)
        {
            0x50, 
            0x32, 
            Zero, 
            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, 
            0x47, 
            0x48, 
            0x49, 
            0x4A, 
            0x4B, 
            0x4C, 
            0x4D, 
            0x4E, 
            0x4F, 
            0x50, 
            0x51, 
            0x52, 
            0x53, 
            0x54, 
            0x55, 
            0x56, 
            0x57, 
            0x58, 
            0x59, 
            0x5A, 
            0x5B, 
            0x5C, 
            0x5D, 
            0x5E, 
            0x5F, 
            0x60, 
            0x61, 
            0x62, 
            0x63, 
            0x64
        })
    }

    Method (_WAK, 1, Serialized)  // _WAK: Wake
    {
        D8XH (One, 0xAB)
        ADBG ("_WAK")
        Name (RPWM, Zero)
        If ((DSTS == Zero))
        {
            RPWM = Zero
        }
        Else
        {
            RPWM = 0x0180
        }

        SWAK (Arg0, RPWM)
        If ((Arg0 == 0x03))
        {
            \_SB.PC00.LPCB.ACCF (ACTT)
        }

        If (((Arg0 == 0x03) || (Arg0 == 0x04)))
        {
            If ((GBSX & 0x40))
            {
                \_SB.PC00.GFX0.IUEH (0x06)
                PB1E ^= 0x08
            }

            If ((GBSX & 0x80))
            {
                \_SB.PC00.GFX0.IUEH (0x07)
                PB1E ^= 0x10
            }

            \_SB.PC00.LPCB.SWUB (Arg0, GBSX, PB1E, IGDS)
            If (CondRefOf (\_SB.PC00.TXHC))
            {
                \_SB.TCWK (Arg0)
            }

            If (CondRefOf (\DTFS))
            {
                If ((DTFS == One))
                {
                    Acquire (OSUM, 0xFFFF)
                    If (CondRefOf (\_GPE.DTIN))
                    {
                        \_GPE.DTIN ()
                    }

                    Release (OSUM)
                }
            }

            If (CondRefOf (\DTFS))
            {
                If ((DTFS == One))
                {
                    If (CondRefOf (\_SB.PC00.RP01.NFRP))
                    {
                        \_SB.PC00.RP01.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP05.NFRP))
                    {
                        \_SB.PC00.RP05.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP09.NFRP))
                    {
                        \_SB.PC00.RP09.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP10.NFRP))
                    {
                        \_SB.PC00.RP10.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP11.NFRP))
                    {
                        \_SB.PC00.RP11.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP12.NFRP))
                    {
                        \_SB.PC00.RP12.NFRP ()
                    }
                }
            }
        }

        If ((PFLV == 0x02))
        {
            If (CondRefOf (\ECON))
            {
                If ((ECON == One))
                {
                    ADBG ("[TCSS] 3rd PD PS_ON Sx exit")
                    If (CondRefOf (\_SB.PC00.LPCB.H_EC.ECNT))
                    {
                        \_SB.PC00.LPCB.H_EC.ECNT (0x05)
                    }
                }
            }
        }

        BPNT ()
        Return (Package (0x02)
        {
            Zero, 
            Zero
        })
    }

    Method (GETB, 3, Serialized)
    {
        Local0 = (Arg0 * 0x08)
        Local1 = (Arg1 * 0x08)
        CreateField (Arg2, Local0, Local1, TBF3)
        Return (TBF3) /* \GETB.TBF3 */
    }

    Method (BPNT, 0, NotSerialized)
    {
        ADBG ("BPNT, Board Power Notification")
        \_SB.PC00.LPCB.NBIX ()
        \_SB.PC00.LPCB.NBST ()
        If (CondRefOf (\_SB.DPTF))
        {
            If ((\_SB.DPTF == One))
            {
                If (CondRefOf (\_SB.IETM))
                {
                    Notify (\_SB.IETM, 0x86) // Device-Specific
                    If (((ECON == One) && (\_SB.CHGE == One)))
                    {
                        If (CondRefOf (\_SB.IETM.CHRG))
                        {
                            Notify (\_SB.IETM.CHRG, 0x80) // Status Change
                        }
                    }
                }
            }
        }
    }

    OperationRegion (CPWR, SystemMemory, (\_SB.PC00.GMHB () + 0x5000), 0x1000)
    Field (CPWR, ByteAcc, NoLock, Preserve)
    {
        Offset (0x938), 
        PWRU,   4, 
        Offset (0x9A0), 
        PPL1,   15, 
        PL1E,   1, 
        CLP1,   1
    }

    Name (CLMP, Zero)
    Name (PLEN, Zero)
    Name (PLSV, 0x8000)
    Name (CSEM, Zero)
    Method (SPL1, 0, Serialized)
    {
        Name (PPUU, Zero)
        If ((CSEM == One))
        {
            Return (Zero)
        }

        CSEM = One
        PLSV = PPL1 /* \PPL1 */
        PLEN = PL1E /* \PL1E */
        CLMP = CLP1 /* \CLP1 */
        If ((PWRU == Zero))
        {
            PPUU = One
        }
        Else
        {
            PPUU = (PWRU-- << 0x02)
        }

        Local0 = (PLVL * PPUU) /* \SPL1.PPUU */
        Local1 = (Local0 / 0x03E8)
        PPL1 = Local1
        PL1E = One
        CLP1 = One
    }

    Method (RPL1, 0, Serialized)
    {
        PPL1 = PLSV /* \PLSV */
        PL1E = PLEN /* \PLEN */
        CLP1 = CLMP /* \CLMP */
        CSEM = Zero
    }

    Name (UAMS, Zero)
    Name (GLCK, Zero)
    Method (GUAM, 1, Serialized)
    {
        Switch (ToInteger (Arg0))
        {
            Case (Zero)
            {
                If ((GLCK == One))
                {
                    GLCK = Zero
                    P8XH (Zero, 0xE1)
                    ADBG ("Exit Resiliency")
                    If (PSCP)
                    {
                        If (CondRefOf (\_SB.PR00._PPC))
                        {
                            \_SB.CPPC = Zero
                            SPNT ()
                        }
                    }

                    If (PLCS)
                    {
                        RPL1 ()
                    }

                    BPNT ()
                }
            }
            Case (One)
            {
                If ((GLCK == Zero))
                {
                    GLCK = One
                    P8XH (Zero, 0xE0)
                    ADBG ("Enter Resiliency")
                    If (PSCP)
                    {
                        If ((CondRefOf (\_SB.PR00._PSS) && CondRefOf (\_SB.PR00._PPC)))
                        {
                            SPNT ()
                            BPNT ()
                        }
                    }

                    If (PLCS)
                    {
                        SPL1 ()
                    }
                }
            }
            Default
            {
                Return (Zero)
            }

        }

        UAMS = (Arg0 && !PWRS)
        P_CS ()
    }

    Method (P_CS, 0, Serialized)
    {
        If (CondRefOf (\_SB.PC00.PAUD.PUAM))
        {
            \_SB.PC00.PAUD.PUAM ()
        }

        If ((OSYS == 0x07DC))
        {
            If (CondRefOf (\_SB.PC00.XHCI.DUAM))
            {
                \_SB.PC00.XHCI.DUAM ()
            }
        }
    }

    Scope (_SB.PC00)
    {
        Method (PTMA, 0, NotSerialized)
        {
            Return (BGMA) /* External reference */
        }

        Method (PTMS, 0, NotSerialized)
        {
            Return (BGMS) /* External reference */
        }

        Method (PTIA, 0, NotSerialized)
        {
            Return (BGIA) /* External reference */
        }

        Method (_INI, 0, Serialized)  // _INI: Initialize
        {
            If (CondRefOf (\DTFS))
            {
                If ((DTFS == One))
                {
                    If (CondRefOf (\_SB.PC00.RP01.NFRP))
                    {
                        ^RP01.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP05.NFRP))
                    {
                        ^RP05.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP09.NFRP))
                    {
                        ^RP09.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP10.NFRP))
                    {
                        ^RP10.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP11.NFRP))
                    {
                        ^RP11.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP12.NFRP))
                    {
                        ^RP12.NFRP ()
                    }
                }
            }

            OSYS = 0x03E8
            If (CondRefOf (\_OSI))
            {
                If (_OSI ("Windows 2001"))
                {
                    OSYS = 0x07D1
                }

                If (_OSI ("Windows 2001 SP1"))
                {
                    OSYS = 0x07D1
                }

                If (_OSI ("Windows 2001 SP2"))
                {
                    OSYS = 0x07D2
                }

                If (_OSI ("Windows 2001.1"))
                {
                    OSYS = 0x07D3
                }

                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
                }
            }

            If (CondRefOf (\DTFS))
            {
                If ((DTFS == One))
                {
                    Acquire (OSUM, 0xFFFF)
                    If (CondRefOf (\_GPE.DTIN))
                    {
                        \_GPE.DTIN ()
                    }

                    Release (OSUM)
                }
            }
        }
    }

    Scope (\)
    {
        Name (PICM, Zero)
        Name (PRWP, Package (0x02)
        {
            Zero, 
            Zero
        })
        Method (GPRW, 2, NotSerialized)
        {
            PRWP [Zero] = Arg0
            Local0 = (SS1 << One)
            Local0 |= (SS2 << 0x02)
            Local0 |= (SS3 << 0x03)
            Local0 |= (SS4 << 0x04)
            If (((One << Arg1) & Local0))
            {
                PRWP [One] = Arg1
            }
            Else
            {
                Local0 >>= One
                FindSetLeftBit (Local0, PRWP [One])
            }

            Return (PRWP) /* \PRWP */
        }
    }

    Scope (_SB)
    {
        Name (OSU4, Zero)
        Name (OSCM, 0xFF)
        If ((U4SE == One))
        {
            OperationRegion (CSIO, SystemIO, 0x72, 0x02)
            Field (CSIO, ByteAcc, NoLock, Preserve)
            {
                IO72,   8, 
                IO73,   8
            }

            Method (WCMP, 1, Serialized)
            {
                ADBG (Concatenate ("WCMP - Saved CM mode = ", Arg0))
                IO72 = 0xB7
                IO73 = Arg0
            }
        }

        Method (DOCM, 0, Serialized)
        {
            If ((U4SE == Zero))
            {
                Return (0xFF)
            }

            ADBG (Concatenate ("DOCM: Switch host router to OS requested CM mode - ", OSU4))
            Local0 = 0xFF
            OSCM = Zero
            ADBG (Concatenate ("DOCM: Enabled host router mask on platform = ", ToHexString (CMSK)))
            If ((CondRefOf (\_SB.PC00.TDM0.STCM) && (CMSK & One)))
            {
                ADBG ("DOCM: Apply CM mode to iTBT0 ...")
                Local1 = ^PC00.TDM0.STCM (OSU4, U4CM)
                If ((Local1 != 0xFF))
                {
                    ADBG (Concatenate ("DOCM: Apply CM mode to iTBT0 successfully, CM mode = ", Local1))
                    OSCM = Local1
                    Local0 = Zero
                }
                Else
                {
                    ADBG (Concatenate ("DOCM: Fail to apply CM mode to iTBT0, CM mode = ", OSU4))
                    Return (0xFF)
                }
            }

            If ((CondRefOf (\_SB.PC00.TDM1.STCM) && (CMSK & 0x02)))
            {
                ADBG ("DOCM: Apply CM mode to iTBT1")
                Local1 = ^PC00.TDM1.STCM (OSU4, U4CM)
                If ((Local1 != 0xFF))
                {
                    ADBG (Concatenate ("DOCM: Apply CM mode to iTBT1 successfully, CM mode = ", Local1))
                    OSCM = Local1
                    Local0 = Zero
                }
                Else
                {
                    ADBG (Concatenate ("DOCM: Fail to apply CM mode to iTBT1, CM mode = ", OSU4))
                    Return (0xFF)
                }
            }

            If ((Local0 == 0xFF))
            {
                ADBG ("DOCM: CM mode is not applied to any host router, native USB4 capability is not supported")
            }

            If (((U4CM & 0x70) == 0x20))
            {
                ADBG (Concatenate ("DOCM: Save the applied CM mode to platform settings, CM mode = ", OSCM))
                WCMP (OSCM)
            }

            Return (Local0)
        }

        Method (U4FN, 2, Serialized)
        {
            ADBG (Concatenate ("U4FN: _OSC STS = ", ToHexString (Arg0)))
            ADBG (Concatenate ("U4FN: _OSC CAP = ", ToHexString (Arg1)))
            If ((U4SE == Zero))
            {
                If (((U4CM & 0x07) == One))
                {
                    ADBG ("U4FN: Platform only support SW CM")
                    OSCM = One
                    If ((CondRefOf (\_SB.PC00.TDM0.STCM) && (CMSK & One)))
                    {
                        ^PC00.TDM0.STCM (One, U4CM)
                    }

                    If ((CondRefOf (\_SB.PC00.TDM1.STCM) && (CMSK & 0x02)))
                    {
                        ^PC00.TDM1.STCM (One, U4CM)
                    }

                    Return (Zero)
                }
                Else
                {
                    OSCM = Zero
                    If ((Arg1 & 0x00040000))
                    {
                        ADBG ("U4FN: USB4 capability bit should be cleared since platform doesn\'t support")
                        Return (0xFF)
                    }
                    Else
                    {
                        ADBG ("U4FN: OS and platform doesn\'t support native USB4")
                        Return (Zero)
                    }
                }
            }
            Else
            {
                Local0 = Zero
                If ((Arg1 & 0x00040000))
                {
                    ADBG ("U4FN: OS supports native USB4 capability")
                    OSU4 = One
                }
                Else
                {
                    ADBG ("U4FN: OS doesn\'t support native USB4 capability")
                    OSU4 = Zero
                }

                If (((U4CM & 0x70) == Zero))
                {
                    If ((OSU4 == One))
                    {
                        ADBG ("U4FN: Platform doesn\'t support SW CM, clear USB4 capability bit")
                        Local0 = 0xFF
                    }
                    Else
                    {
                        ADBG ("U4FN: OS and platform only support FW CM")
                        Local0 = Zero
                    }

                    Return (Local0)
                }

                If (((Arg0 & One) == Zero))
                {
                    ADBG ("U4FN: Platform-Wide _OSC query bit = 0")
                    Local1 = DOCM ()
                    If (((OSU4 == One) && (Local1 == 0xFF)))
                    {
                        Local0 = 0xFF
                    }
                }
                Else
                {
                    ADBG ("U4FN: Platform-Wide _OSC query bit = 1")
                    ADBG (Concatenate ("OSU4 = ", OSU4))
                    ADBG (Concatenate ("OSCM = ", OSCM))
                    If (((OSU4 == One) && (OSCM == Zero)))
                    {
                        ADBG ("U4FN: Native USB4 capability bit should be cleared since FW CM is applied for OS")
                        Local0 = 0xFF
                    }
                }

                Return (Local0)
            }
        }
    }

    Scope (_SB)
    {
        Name (OSCI, Zero)
        Name (OSCO, Zero)
        Name (OSCP, Zero)
        Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
        {
            CreateDWordField (Arg3, Zero, STS0)
            CreateDWordField (Arg3, 0x04, CAP0)
            If ((Arg0 == ToUUID ("0811b06e-4a27-44f9-8d60-3cbbc22e7b48") /* Platform-wide Capabilities */))
            {
                If ((Arg1 == One))
                {
                    OSCP = CAP0 /* \_SB_._OSC.CAP0 */
                    If ((CAP0 & 0x04))
                    {
                        OSCO = 0x04
                        If (((HGDT & 0x0F) != 0x04))
                        {
                            If ((RTD3 == Zero))
                            {
                                CAP0 &= 0xFFFFFFFB
                                STS0 |= 0x10
                            }
                        }
                    }

                    If ((U4FN (STS0, CAP0) == 0xFF))
                    {
                        ADBG ("_OSC: Native USB4 capability bit is cleared")
                        CAP0 &= 0xFFFBFFFF
                        STS0 |= 0x10
                    }
                }
                Else
                {
                    STS0 &= 0xFFFFFF00
                    STS0 |= 0x0A
                }
            }
            ElseIf ((Arg0 == ToUUID ("23a0d13a-26ab-486c-9c5f-0ffa525a575a") /* USB4 Capabilities */))
            {
                If ((OSCM == One))
                {
                    CreateDWordField (Arg3, 0x08, CTRL)
                    If ((Arg1 == One))
                    {
                        ADBG (Concatenate ("_OSC: USB4 Control _OSC query bit = ", ToHexString ((STS0 & One))))
                        ADBG (Concatenate ("EPTU = ", ToHexString (EPTU)))
                        ADBG (Concatenate ("CTRL = ", ToHexString (CTRL)))
                        Local1 = CTRL /* \_SB_._OSC.CTRL */
                        If ((CTRL & 0xFFFFFFF0))
                        {
                            ADBG ("_OSC: Clear unsupported bits of USB control")
                            CTRL &= 0x0F
                        }

                        If ((EPTU == Zero))
                        {
                            CTRL &= 0x0B
                            ADBG (Concatenate ("_OSC: Clear PCIe bit, CTRL= ", ToHexString (CTRL)))
                        }

                        If ((Local1 != CTRL))
                        {
                            STS0 |= 0x10
                            ADBG ("_OSC: Set capabilities masked bit to indicate capabilities cleared by platform")
                        }
                    }
                    Else
                    {
                        STS0 &= 0xFFFFFF00
                        STS0 |= 0x0A
                    }
                }
                Else
                {
                    ADBG ("_OSC: USB4 control UUID is unrecognised since SW CM mode is not applied for OS!")
                    STS0 &= 0xFFFFFF00
                    STS0 |= 0x06
                }
            }
            Else
            {
                STS0 &= 0xFFFFFF00
                STS0 |= 0x06
            }

            Return (Arg3)
        }
    }

    Scope (_SB)
    {
        Device (SLPB)
        {
            Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */)  // _HID: Hardware ID
            Name (_STA, Zero)  // _STA: Status
        }
    }

    Scope (_SB)
    {
        Device (COEX)
        {
            Name (_HID, EisaId ("INT3519"))  // _HID: Hardware ID
            Name (_STR, Unicode ("CoExistence Manager"))  // _STR: Description String
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((COEM == One))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }
        }
    }

    If (CondRefOf (\_SB.PC00.ISHD))
    {
        Scope (_SB.PC00.ISHD)
        {
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                ADBG ("ISHD _DSM")
                If (PCIC (Arg0))
                {
                    Return (PCID (Arg0, Arg1, Arg2, Arg3))
                }

                If (CondRefOf (HIWC))
                {
                    If (HIWC (Arg0))
                    {
                        If ((Arg2 <= 0x02))
                        {
                            If (CondRefOf (HIDW))
                            {
                                Return (HIDW (Arg0, Arg1, Arg2, Arg3))
                            }
                        }
                        ElseIf ((Arg2 == 0x03))
                        {
                            If (CondRefOf (ISAR))
                            {
                                Return (ISAR (Arg0, Arg1, Arg2, Arg3))
                            }
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (_SB)
    {
        Device (PR00)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, Zero)  // _UID: Unique ID
        }

        Device (PR01)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, One)  // _UID: Unique ID
        }

        Device (PR02)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x02)  // _UID: Unique ID
        }

        Device (PR03)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x03)  // _UID: Unique ID
        }

        Device (PR04)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x04)  // _UID: Unique ID
        }

        Device (PR05)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x05)  // _UID: Unique ID
        }

        Device (PR06)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x06)  // _UID: Unique ID
        }

        Device (PR07)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x07)  // _UID: Unique ID
        }

        Device (PR08)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x08)  // _UID: Unique ID
        }

        Device (PR09)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x09)  // _UID: Unique ID
        }

        Device (PR10)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x0A)  // _UID: Unique ID
        }

        Device (PR11)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x0B)  // _UID: Unique ID
        }

        Device (PR12)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x0C)  // _UID: Unique ID
        }

        Device (PR13)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x0D)  // _UID: Unique ID
        }

        Device (PR14)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x0E)  // _UID: Unique ID
        }

        Device (PR15)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x0F)  // _UID: Unique ID
        }

        Device (PR16)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x10)  // _UID: Unique ID
        }

        Device (PR17)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x11)  // _UID: Unique ID
        }

        Device (PR18)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x12)  // _UID: Unique ID
        }

        Device (PR19)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x13)  // _UID: Unique ID
        }

        Device (PR20)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x14)  // _UID: Unique ID
        }

        Device (PR21)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x15)  // _UID: Unique ID
        }

        Device (PR22)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x16)  // _UID: Unique ID
        }

        Device (PR23)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x17)  // _UID: Unique ID
        }

        Device (PR24)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x18)  // _UID: Unique ID
        }

        Device (PR25)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x19)  // _UID: Unique ID
        }

        Device (PR26)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x1A)  // _UID: Unique ID
        }

        Device (PR27)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x1B)  // _UID: Unique ID
        }

        Device (PR28)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x1C)  // _UID: Unique ID
        }

        Device (PR29)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x1D)  // _UID: Unique ID
        }

        Device (PR30)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x1E)  // _UID: Unique ID
        }

        Device (PR31)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x1F)  // _UID: Unique ID
        }

        Device (PR32)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x20)  // _UID: Unique ID
        }

        Device (PR33)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x21)  // _UID: Unique ID
        }

        Device (PR34)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x22)  // _UID: Unique ID
        }

        Device (PR35)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x23)  // _UID: Unique ID
        }

        Device (PR36)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x24)  // _UID: Unique ID
        }

        Device (PR37)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x25)  // _UID: Unique ID
        }

        Device (PR38)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x26)  // _UID: Unique ID
        }

        Device (PR39)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x27)  // _UID: Unique ID
        }

        Device (PR40)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x28)  // _UID: Unique ID
        }

        Device (PR41)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x29)  // _UID: Unique ID
        }

        Device (PR42)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x2A)  // _UID: Unique ID
        }

        Device (PR43)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x2B)  // _UID: Unique ID
        }

        Device (PR44)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x2C)  // _UID: Unique ID
        }

        Device (PR45)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x2D)  // _UID: Unique ID
        }

        Device (PR46)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x2E)  // _UID: Unique ID
        }

        Device (PR47)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x2F)  // _UID: Unique ID
        }
    }

    Scope (_SB)
    {
        Device (PAGD)
        {
            Name (_HID, "ACPI000C" /* Processor Aggregator Device */)  // _HID: Hardware ID
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (_OSI ("Processor Aggregator Device"))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Name (_PUR, Package (0x02)  // _PUR: Processor Utilization Request
            {
                One, 
                Zero
            })
        }
    }

    Scope (_SB.PC00)
    {
        Device (PDRC)
        {
            Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
            Name (_UID, One)  // _UID: Unique ID
            Name (BUF0, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00008000,         // Address Length
                    _Y4D)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y4E)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y4F)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y50)
                Memory32Fixed (ReadWrite,
                    0xFED20000,         // Address Base
                    0x00060000,         // Address Length
                    )
                Memory32Fixed (ReadOnly,
                    0xFC800000,         // Address Base
                    0x00020000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0xFED45000,         // Address Base
                    0x0004B000,         // Address Length
                    )
                Memory32Fixed (ReadOnly,
                    0xFEE00000,         // Address Base
                    0x00100000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y51)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y4C)
            })
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                If (CondRefOf (DPTR))
                {
                    CreateDWordField (BUF0, \_SB.PC00.PDRC._Y4C._BAS, ABR0)  // _BAS: Base Address
                    ABR0 = DPTR /* External reference */
                    CreateDWordField (BUF0, \_SB.PC00.PDRC._Y4C._LEN, ABLN)  // _LEN: Length
                    ABLN = (EPTR - DPTR) /* External reference */
                }

                CreateDWordField (BUF0, \_SB.PC00.PDRC._Y4D._BAS, MBR0)  // _BAS: Base Address
                MBR0 = GMHB ()
                CreateDWordField (BUF0, \_SB.PC00.PDRC._Y4E._BAS, DBR0)  // _BAS: Base Address
                DBR0 = GDMB ()
                CreateDWordField (BUF0, \_SB.PC00.PDRC._Y4F._BAS, EBR0)  // _BAS: Base Address
                EBR0 = GEPB ()
                CreateDWordField (BUF0, \_SB.PC00.PDRC._Y50._BAS, XBR0)  // _BAS: Base Address
                XBR0 = GPCB ()
                CreateDWordField (BUF0, \_SB.PC00.PDRC._Y50._LEN, XSZ0)  // _LEN: Length
                XSZ0 = GPCL ()
                If (!HPTE)
                {
                    CreateDWordField (BUF0, \_SB.PC00.PDRC._Y51._BAS, HBAS)  // _BAS: Base Address
                    CreateDWordField (BUF0, \_SB.PC00.PDRC._Y51._LEN, HLEN)  // _LEN: Length
                    HBAS = HPTB /* \HPTB */
                    HLEN = 0x0400
                }

                Return (BUF0) /* \_SB_.PC00.PDRC.BUF0 */
            }
        }
    }

    Method (BRTN, 1, Serialized)
    {
        If (((DIDX & 0x0F0F) == 0x0400))
        {
            Notify (\_SB.PC00.GFX0.DD1F, Arg0)
        }

        If (((DIDY & 0x0F0F) == 0x0401))
        {
            Notify (\_SB.PC00.GFX0.DD2F, Arg0)
        }

        If (((DGDX & 0x0F0F) == 0x0400))
        {
            Notify (\_SB.PC00.RP12.PXSX.PEGB.PEGE.DEDP, Arg0)
        }
    }

    Scope (_GPE)
    {
        Method (_L73, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("L73 Event")
        }

        Method (_L69, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("L69 Event")
            SL69 ()
        }

        Method (_L61, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("L61 Event")
            L01C += One
            P8XH (Zero, One)
            P8XH (One, L01C)
            SL61 ()
        }

        Method (_L62, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("L62 Event")
            GPEC = Zero
        }

        Method (_L50, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("L50 Event")
            \_SB.PC00.LPCB.WKEC ()
            Return (Zero)
        }

        Method (_L6B, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("_L6B Event")
            If (CondRefOf (\_GPE.AL6B))
            {
                AL6B ()
            }

            If (CondRefOf (\_GPE.PL6B))
            {
                PL6B ()
            }
        }

        Name (PRES, One)
        Method (_L6F, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("L6F Event")
            If (CondRefOf (\_GPE.AL6F))
            {
                AL6F ()
            }

            SL6F ()
        }

        Method (_L72, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            If (CondRefOf (\_SB.PC00.AWAC))
            {
                \_SB.PC00.AWAC.WAST = One
                Notify (\_SB.PC00.AWAC, 0x02) // Device Wake
            }
        }

        Method (_L71, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            If (CondRefOf (\_GPE.SL71))
            {
                SL71 ()
            }
        }

        If (CondRefOf (GP1E))
        {
            If ((GP1E != Zero))
            {
                Method (_LC7, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
                {
                    ADBG ("LC7 Event")
                    SLC7 ()
                }
            }
        }

        If (CondRefOf (GP1E))
        {
            If ((GP1E != Zero))
            {
                Method (_LA7, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
                {
                    ADBG ("LA7 Event")
                    L01C += One
                    P8XH (Zero, 0xA7)
                    P8XH (One, L01C)
                    SLA7 ()
                }
            }
        }

        Method (_LA0, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("LA0 Event")
            SLA0 ()
        }

        Method (_LA1, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("LA1 Event")
            SLA1 ()
        }

        Method (_LA2, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("LA2 Event")
            SLA2 ()
        }

        Method (_LC0, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("LC0 Event")
            SLC0 ()
        }

        Method (_LC1, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("LC1 Event")
            SLC1 ()
        }

        Method (_LC2, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("LC2 Event")
            SLC2 ()
        }
    }

    Device (_SB.PC00.DOCK)
    {
        Name (_HID, "ABCD0000")  // _HID: Hardware ID
        Name (_CID, EisaId ("PNP0C15") /* Docking Station */)  // _CID: Compatible ID
        Name (_UID, "SADDLESTRING")  // _UID: Unique ID
        If ((S0ID == Zero))
        {
            Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device, x=0-9
            {
                P8XH (Zero, 0xED)
            }
        }

        Method (_STA, 0, NotSerialized)  // _STA: Status
        {
            ADBG ("Method _STA")
            If ((ECON == Zero))
            {
                Return (Zero)
            }

            If (DSTS)
            {
                ADBG ("Dock Exist")
                Return (0x0F)
            }
            Else
            {
                ADBG ("Dock not Exist")
                Return (Zero)
            }
        }

        If ((S0ID == Zero))
        {
            Method (_DCK, 1, NotSerialized)  // _DCK: Dock Present
            {
                ADBG ("Method _DCK")
                If (Arg0)
                {
                    Return (One)
                }
                Else
                {
                    DSTS = Zero
                    Return (One)
                }
            }
        }

        If ((PCHS != 0x04))
        {
            Name (XEDL, Package (0x03)
            {
                ^RP07.PXSX, 
                ^RP08.PXSX, 
                SAT0
            })
        }
    }

    Method (GMIO, 3, Serialized)
    {
        OperationRegion (PXCS, SystemMemory, \_SB.PC00.PC2M (Arg1, Arg0), 0x20)
        Field (PXCS, AnyAcc, NoLock, Preserve)
        {
            Offset (0x18), 
            PBUS,   8, 
            SBUS,   8
        }

        Local0 = \_SB.PC00.GPCB ()
        Local0 += ((Arg2 & 0x001F0000) >> One)
        Local0 += ((Arg2 & 0x07) << 0x0C)
        Local0 += (SBUS << 0x14)
        Return (Local0)
    }

    Scope (_SB.PC00.RP01.PXSX)
    {
        OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x30)
        Field (RPXX, AnyAcc, NoLock, Preserve)
        {
            VDID,   32, 
            Offset (0x2C), 
            SVID,   16
        }

        OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WDCO), 0x06)
        Field (FLDR, ByteAcc, NoLock, Preserve)
        {
            DCAP,   32, 
            DCTR,   16
        }

        OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WVHO), 0x10)
        Field (VSEC, AnyAcc, NoLock, Preserve)
        {
            Offset (0x0C), 
                ,   1, 
            BTIE,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
            Offset (0x0D), 
            PDRC,   1
        }

        OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x02B8)
        Field (PBRR, AnyAcc, NoLock, Preserve)
        {
            Offset (0x18C), 
            MSNL,   32, 
            Offset (0x198), 
            L1C1,   32, 
            L1C2,   32, 
            Offset (0x2B4), 
            PTMR,   32
        }

        Method (WIST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x25268086)
                    {
                        Return (One)
                    }
                    Case (0x271B8086)
                    {
                        Return (One)
                    }
                    Case (0x27238086)
                    {
                        Return (One)
                    }
                    Case (0x27258086)
                    {
                        Return (One)
                    }
                    Case (0x272B8086)
                    {
                        Return (One)
                    }
                    Default
                    {
                        If ((SVDC == One))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        Method (WWST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x73608086)
                    {
                        Return (One)
                    }
                    Case (0x75608086)
                    {
                        Return (One)
                    }
                    Case (0x4D7514C3)
                    {
                        Return (One)
                    }
                    Case (0x080014C3)
                    {
                        Return (One)
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        If (WIST ())
        {
            Name (RSTY, Zero)
            Name (FLRC, Zero)
            Name (BOFC, Zero)
            Name (DPRS, Zero)
            PowerResource (WRST, 0x05, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    ADBG ("Wifi PR _STA")
                    Return (One)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    ADBG ("Wifi PR _ON")
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    ADBG ("Wifi PR _OFF")
                }

                Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                {
                    If ((RSTY == One))
                    {
                        ADBG ("Wifi Product RST")
                        Local0 = Acquire (CNMT, 0x03E8)
                        If ((Local0 == Zero))
                        {
                            If ((FLRC == One))
                            {
                                Local0 = DCTR /* \_SB_.PC00.RP01.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                                Sleep (FDEL)
                            }

                            DPRS = One
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (Zero)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = Zero
                                }

                                Sleep (RDLY)
                            }

                            PDRC = One
                            Sleep (VDEL)
                            SGOV (WLRT, Zero)
                            Sleep (PDEL)
                            SGOV (WLRT, One)
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (One)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = One
                                }

                                Sleep (RDLY)
                            }

                            DPRS = 0x02
                            Release (CNMT)
                        }
                    }
                    Else
                    {
                        ADBG ("Wifi Core RST")
                        If ((DCAP & 0x10000000))
                        {
                            Local0 = DCTR /* \_SB_.PC00.RP01.PXSX.DCTR */
                            Local0 |= 0x8000
                            DCTR = Local0
                        }

                        DPRS = One
                    }

                    Sleep (0x07D0)
                    MSNL = DR01 /* \DR01 */
                    L1C1 = DR02 /* \DR02 */
                    L1C2 = DR03 /* \DR03 */
                    PTMR = DR04 /* \DR04 */
                    Sleep (0x07D0)
                }
            }

            Name (SPLX, Package (0x02)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (SPLC, 0, Serialized)
            {
                DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                Return (SPLX) /* \_SB_.PC00.RP01.PXSX.SPLX */
            }

            Name (WANX, Package (0x03)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }, 

                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (WAND, 0, Serialized)
            {
                DerefOf (WANX [One]) [Zero] = Zero
                DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                DerefOf (WANX [0x02]) [Zero] = One
                DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                Return (WANX) /* \_SB_.PC00.RP01.PXSX.WANX */
            }

            Name (WRDX, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x80000000, 
                    0x8000
                }
            })
            Method (WRDD, 0, Serialized)
            {
                DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                Return (WRDX) /* \_SB_.PC00.RP01.PXSX.WRDX */
            }

            Name (WRDY, Package (0x02)
            {
                0x02, 
                Package (0x2E)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WRDS, 0, Serialized)
            {
                DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                Return (WRDY) /* \_SB_.PC00.RP01.PXSX.WRDY */
            }

            Name (EWRY, Package (0x02)
            {
                0x02, 
                Package (0x87)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (EWRD, 0, Serialized)
            {
                DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                Return (EWRY) /* \_SB_.PC00.RP01.PXSX.EWRY */
            }

            Name (WGDY, Package (0x02)
            {
                0x03, 
                Package (0x4A)
                {
                    0x07, 
                    0x03, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WGDS, 0, Serialized)
            {
                DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                Return (WGDY) /* \_SB_.PC00.RP01.PXSX.WGDY */
            }

            Name (ECKY, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }
            })
            Method (ECKV, 0, Serialized)
            {
                DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                Return (ECKY) /* \_SB_.PC00.RP01.PXSX.ECKY */
            }

            Name (PPAY, Package (0x02)
            {
                0x02, 
                Package (0x18)
                {
                    0x07, 
                    Zero, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28
                }
            })
            Method (PPAG, 0, Serialized)
            {
                DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                Return (PPAY) /* \_SB_.PC00.RP01.PXSX.PPAY */
            }

            Name (WPFY, Package (0x02)
            {
                Zero, 
                Package (0x05)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WPFC, 0, Serialized)
            {
                DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                DerefOf (WPFY [One]) [0x03] = \WPFC
                DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                Return (WPFY) /* \_SB_.PC00.RP01.PXSX.WPFY */
            }

            Name (WTSY, Package (0x02)
            {
                One, 
                Package (0x13)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WTAS, 0, Serialized)
            {
                DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                Return (WTSY) /* \_SB_.PC00.RP01.PXSX.WTSY */
            }

            Name (WAIY, Package (0x02)
            {
                Zero, 
                Package (0x04)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WAIS, 0, Serialized)
            {
                DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                Return (WAIY) /* \_SB_.PC00.RP01.PXSX.WAIY */
            }

            Name (SADX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    0x80000000
                }, 

                Package (0x02)
                {
                    0x12, 
                    0x80000000
                }
            })
            Method (SADS, 0, Serialized)
            {
                DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                Return (SADX) /* \_SB_.PC00.RP01.PXSX.SADX */
            }

            Name (GPCX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }, 

                Package (0x02)
                {
                    0x12, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }
            })
            Method (GPC, 0, Serialized)
            {
                Return (GPCX) /* \_SB_.PC00.RP01.PXSX.GPCX */
            }

            Name (GLAX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }, 

                Package (0x02)
                {
                    0x12, 
                    Zero
                }
            })
            Method (GLAI, 0, Serialized)
            {
                ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                Return (GLAX) /* \_SB_.PC00.RP01.PXSX.GLAX */
            }
        }

        If (((WWEN != Zero) && (WWRP == SLOT)))
        {
            Method (FHRF, 1, NotSerialized)
            {
                If ((GGOV (PRST) != WPRP))
                {
                    DL23 ()
                    ADBG ("WWAN DL23() Done")
                    SGOV (PRST, WPRP)
                    ADBG ("WWAN PERST:0 Done")
                }
                Else
                {
                    ADBG ("Assume WWAN DL23() is already done")
                }

                Sleep (TR2B)
                SGOV (WBRS, PBRS)
                ADBG ("WWAN RST:0 Done")
                If ((Arg0 == Zero))
                {
                    Sleep (TBTG)
                    ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                }
                ElseIf ((Arg0 == One))
                {
                    SPCO (WCLK, Zero)
                    ADBG ("WWAN SCLK:0 Done")
                    Sleep (TB2F)
                    ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                    SGOV (WFCP, (~PFCP & One))
                    ADBG ("WWAN PWR:0 Done")
                    Sleep (TFDI)
                    ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                }
                Else
                {
                    ADBG ("Unsupported Arg0 is detected.")
                }
            }

            Method (SHRF, 0, NotSerialized)
            {
                PSD0 (SLOT)
                ADBG ("WWAN MPHYPG:0 Done")
                SPCO (WCLK, One)
                ADBG ("WWAN SCLK:1 Done")
                SGOV (WFCP, PFCP)
                ADBG ("WWAN PWR:1 Done")
                Sleep (TN2B)
                ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                SGOV (WBRS, (~PBRS & One))
                ADBG ("WWAN RST:1 Done")
                Sleep (TB2R)
                ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                SGOV (PRST, (~WPRP & One))
                ADBG ("WWAN PERST:0 Done")
                L23D ()
                ADBG ("WWAN L23D() Done")
            }

            Method (DOSV, 0, NotSerialized)
            {
                Local0 = Zero
                While (((SVID != WSID) && (Local0 < WSTO)))
                {
                    Local0++
                    Sleep (One)
                }

                ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
            }

            Method (_RST, 0, Serialized)  // _RST: Device Reset
            {
                ADBG ("_RST WWAN")
                If ((WWEN == 0x02))
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN FLDR")
                        FHRF (Zero)
                        SHRF ()
                        ADBG ("End WWAN FLDR")
                        Release (WWMT)
                        ADBG ("WWAN FLDR Mutex:Release Done")
                        DOSV ()
                    }
                }
                Else
                {
                    SGOV (WBRS, PBRS)
                    Sleep (0xC8)
                    Notify (PXSX, One) // Device Check
                    SGOV (PRST, (~WPRP & One))
                    SGOV (WBRS, (~PBRS & One))
                    Sleep (0xC8)
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x14))
                        {
                            ADBG ("FLDR TO")
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    Sleep (0x0A)
                    ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                    Notify (PXSX, One) // Device Check
                }
            }

            PowerResource (MRST, 0x05, 0x0000)
            {
                Method (_STA, 0, Serialized)  // _STA: Status
                {
                    ADBG ("WWAN PR _STA")
                    Return (One)
                }

                Method (_ON, 0, Serialized)  // _ON_: Power On
                {
                    ADBG ("WWAN PR _ON")
                }

                Method (_OFF, 0, Serialized)  // _OFF: Power Off
                {
                    ADBG ("WWAN PR _OFF")
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN PLDR")
                        FHRF (One)
                        SHRF ()
                        ADBG ("End WWAN PR _RST")
                        Release (WWMT)
                        ADBG ("WWAN PLDR Mutex: Release Done")
                        DOSV ()
                    }
                }
            }
        }

        If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
        {
            Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
            {
                If (WIST ())
                {
                    If (CondRefOf (WRST))
                    {
                        Return (Package (0x01)
                        {
                            WRST
                        })
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If (CondRefOf (MRST))
                    {
                        Return (Package (0x01)
                        {
                            MRST
                        })
                    }
                }

                Return (Package (0x01)
                {
                    WRST
                })
            }

            Name (FDEL, Zero)
            Name (PDEL, Zero)
            Name (VDEL, Zero)
            Method (IFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (One)
                        {
                             0x1F                                             // .
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    ADBG (Concatenate ("vPro: ", CVPR))
                    Local0 = (CVPR << Zero)
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    CreateWordField (Arg3, Zero, CMDT)
                    CreateWordField (Arg3, 0x02, CMDP)
                    ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                    ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                    If ((CMDT == One))
                    {
                        If (WIST ())
                        {
                            Return (RSTY) /* \_SB_.PC00.RP01.PXSX.RSTY */
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                            Return (^^^CNVW.RSTT) /* \_SB_.PC00.CNVW.RSTT */
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    If ((CMDT == 0x02))
                    {
                        If (WIST ())
                        {
                            Local0 = (CMDP & One)
                            RSTY = Local0
                            Local1 = (CMDP & 0x02)
                            Local1 >>= One
                            FLRC = Local1
                            Local2 = (CMDP & 0x04)
                            Local2 >>= 0x02
                            BOFC = Local2
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                            ^^^CNVW.RSTT = CMDP /* \_SB_.PC00.RP01.PXSX.IFUN.CMDP */
                        }

                        Return (Zero)
                    }

                    If ((CMDT == 0x03))
                    {
                        If (CondRefOf (\_SB.PC00.CNVW.PRRS))
                        {
                            ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                            Return (^^^CNVW.PRRS) /* \_SB_.PC00.CNVW.PRRS */
                        }
                        ElseIf (WIST ())
                        {
                            ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                            Return (DPRS) /* \_SB_.PC00.RP01.PXSX.DPRS */
                        }
                    }

                    Return (Zero)
                }

                If ((Arg2 == 0x03))
                {
                    If ((CRFI == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x04))
                {
                    CreateWordField (Arg3, Zero, PRTT)
                    CreateWordField (Arg3, 0x02, PRTD)
                    ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                    ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                    If ((PRTT == One))
                    {
                        FDEL = PRTD /* \_SB_.PC00.RP01.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x02))
                    {
                        PDEL = PRTD /* \_SB_.PC00.RP01.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x03))
                    {
                        VDEL = PRTD /* \_SB_.PC00.RP01.PXSX.IFUN.PRTD */
                    }
                    Else
                    {
                        ADBG ("TimerDuration not set")
                    }
                }

                Return (Zero)
            }

            Method (IDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (EFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (0x02)
                        {
                             0xFF, 0x1F                                       // ..
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    Local0 = ACSD /* \ACSD */
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    Local0 = I5BS /* \I5BS */
                    Return (Local0)
                }

                If ((Arg2 == 0x03))
                {
                    Local0 = UHBS /* \UHBS */
                    Return (Local0)
                }

                If ((Arg2 == 0x06))
                {
                    Local0 = AXMU /* \AXMU */
                    Local0 <<= One
                    Local0 |= AXSU /* \AXSU */
                    Local1 = AXMR /* \AXMR */
                    Local1 <<= One
                    Local1 |= AXSR /* \AXSR */
                    Local1 <<= 0x02
                    Local0 |= Local1
                    Return (Local0)
                }

                If ((Arg2 == 0x04))
                {
                    Return (Buffer (0x02)
                    {
                         0x03, 0x00                                       // ..
                    })
                }

                If ((Arg2 == 0x05))
                {
                    Return (WFUC) /* \WFUC */
                }

                If ((Arg2 == 0x07))
                {
                    Return (UNI4) /* \UNI4 */
                }

                If ((Arg2 == 0x08))
                {
                    Return (WFIC) /* \WFIC */
                }

                If ((Arg2 == 0x09))
                {
                    Return (WFBS) /* \WFBS */
                }

                If ((Arg2 == 0x0A))
                {
                    Return (WEDT) /* \WEDT */
                }

                If ((Arg2 == 0x0B))
                {
                    If ((CIRM == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x0C))
                {
                    Return (WF7C) /* \WF7C */
                }

                Return (Zero)
            }

            Method (EDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (WIST ())
                {
                    If (EDSM (Arg0))
                    {
                        Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (IDSM (Arg0))
                    {
                        Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x09                                             // .
                            })
                        }

                        If ((Arg2 == One)){}
                        If ((Arg2 == 0x02)){}
                        If ((Arg2 == 0x03))
                        {
                            If ((WRTO == One))
                            {
                                ADBG ("WWAN Power _DSM D0/L1.2")
                            }
                            ElseIf ((WRTO == 0x02))
                            {
                                ADBG ("WWAN Power _DSM D3/L1.2")
                            }
                            ElseIf ((WRTO == 0x03))
                            {
                                ADBG ("WWAN Power _DSM D3/L2")
                            }
                            Else
                            {
                                ADBG ("WWAN Power _DSM Disabled")
                            }

                            Return (WRTO) /* \WRTO */
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (_SB.PC00.RP02.PXSX)
    {
        OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x30)
        Field (RPXX, AnyAcc, NoLock, Preserve)
        {
            VDID,   32, 
            Offset (0x2C), 
            SVID,   16
        }

        OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WDCO), 0x06)
        Field (FLDR, ByteAcc, NoLock, Preserve)
        {
            DCAP,   32, 
            DCTR,   16
        }

        OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WVHO), 0x10)
        Field (VSEC, AnyAcc, NoLock, Preserve)
        {
            Offset (0x0C), 
                ,   1, 
            BTIE,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
            Offset (0x0D), 
            PDRC,   1
        }

        OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x02B8)
        Field (PBRR, AnyAcc, NoLock, Preserve)
        {
            Offset (0x18C), 
            MSNL,   32, 
            Offset (0x198), 
            L1C1,   32, 
            L1C2,   32, 
            Offset (0x2B4), 
            PTMR,   32
        }

        Method (WIST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x25268086)
                    {
                        Return (One)
                    }
                    Case (0x271B8086)
                    {
                        Return (One)
                    }
                    Case (0x27238086)
                    {
                        Return (One)
                    }
                    Case (0x27258086)
                    {
                        Return (One)
                    }
                    Case (0x272B8086)
                    {
                        Return (One)
                    }
                    Default
                    {
                        If ((SVDC == One))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        Method (WWST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x73608086)
                    {
                        Return (One)
                    }
                    Case (0x75608086)
                    {
                        Return (One)
                    }
                    Case (0x4D7514C3)
                    {
                        Return (One)
                    }
                    Case (0x080014C3)
                    {
                        Return (One)
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        If (WIST ())
        {
            Name (RSTY, Zero)
            Name (FLRC, Zero)
            Name (BOFC, Zero)
            Name (DPRS, Zero)
            PowerResource (WRST, 0x05, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    ADBG ("Wifi PR _STA")
                    Return (One)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    ADBG ("Wifi PR _ON")
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    ADBG ("Wifi PR _OFF")
                }

                Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                {
                    If ((RSTY == One))
                    {
                        ADBG ("Wifi Product RST")
                        Local0 = Acquire (CNMT, 0x03E8)
                        If ((Local0 == Zero))
                        {
                            If ((FLRC == One))
                            {
                                Local0 = DCTR /* \_SB_.PC00.RP02.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                                Sleep (FDEL)
                            }

                            DPRS = One
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (Zero)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = Zero
                                }

                                Sleep (RDLY)
                            }

                            PDRC = One
                            Sleep (VDEL)
                            SGOV (WLRT, Zero)
                            Sleep (PDEL)
                            SGOV (WLRT, One)
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (One)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = One
                                }

                                Sleep (RDLY)
                            }

                            DPRS = 0x02
                            Release (CNMT)
                        }
                    }
                    Else
                    {
                        ADBG ("Wifi Core RST")
                        If ((DCAP & 0x10000000))
                        {
                            Local0 = DCTR /* \_SB_.PC00.RP02.PXSX.DCTR */
                            Local0 |= 0x8000
                            DCTR = Local0
                        }

                        DPRS = One
                    }

                    Sleep (0x07D0)
                    MSNL = DR01 /* \DR01 */
                    L1C1 = DR02 /* \DR02 */
                    L1C2 = DR03 /* \DR03 */
                    PTMR = DR04 /* \DR04 */
                    Sleep (0x07D0)
                }
            }

            Name (SPLX, Package (0x02)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (SPLC, 0, Serialized)
            {
                DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                Return (SPLX) /* \_SB_.PC00.RP02.PXSX.SPLX */
            }

            Name (WANX, Package (0x03)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }, 

                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (WAND, 0, Serialized)
            {
                DerefOf (WANX [One]) [Zero] = Zero
                DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                DerefOf (WANX [0x02]) [Zero] = One
                DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                Return (WANX) /* \_SB_.PC00.RP02.PXSX.WANX */
            }

            Name (WRDX, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x80000000, 
                    0x8000
                }
            })
            Method (WRDD, 0, Serialized)
            {
                DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                Return (WRDX) /* \_SB_.PC00.RP02.PXSX.WRDX */
            }

            Name (WRDY, Package (0x02)
            {
                0x02, 
                Package (0x2E)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WRDS, 0, Serialized)
            {
                DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                Return (WRDY) /* \_SB_.PC00.RP02.PXSX.WRDY */
            }

            Name (EWRY, Package (0x02)
            {
                0x02, 
                Package (0x87)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (EWRD, 0, Serialized)
            {
                DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                Return (EWRY) /* \_SB_.PC00.RP02.PXSX.EWRY */
            }

            Name (WGDY, Package (0x02)
            {
                0x03, 
                Package (0x4A)
                {
                    0x07, 
                    0x03, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WGDS, 0, Serialized)
            {
                DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                Return (WGDY) /* \_SB_.PC00.RP02.PXSX.WGDY */
            }

            Name (ECKY, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }
            })
            Method (ECKV, 0, Serialized)
            {
                DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                Return (ECKY) /* \_SB_.PC00.RP02.PXSX.ECKY */
            }

            Name (PPAY, Package (0x02)
            {
                0x02, 
                Package (0x18)
                {
                    0x07, 
                    Zero, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28
                }
            })
            Method (PPAG, 0, Serialized)
            {
                DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                Return (PPAY) /* \_SB_.PC00.RP02.PXSX.PPAY */
            }

            Name (WPFY, Package (0x02)
            {
                Zero, 
                Package (0x05)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WPFC, 0, Serialized)
            {
                DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                DerefOf (WPFY [One]) [0x03] = \WPFC
                DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                Return (WPFY) /* \_SB_.PC00.RP02.PXSX.WPFY */
            }

            Name (WTSY, Package (0x02)
            {
                One, 
                Package (0x13)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WTAS, 0, Serialized)
            {
                DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                Return (WTSY) /* \_SB_.PC00.RP02.PXSX.WTSY */
            }

            Name (WAIY, Package (0x02)
            {
                Zero, 
                Package (0x04)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WAIS, 0, Serialized)
            {
                DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                Return (WAIY) /* \_SB_.PC00.RP02.PXSX.WAIY */
            }

            Name (SADX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    0x80000000
                }, 

                Package (0x02)
                {
                    0x12, 
                    0x80000000
                }
            })
            Method (SADS, 0, Serialized)
            {
                DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                Return (SADX) /* \_SB_.PC00.RP02.PXSX.SADX */
            }

            Name (GPCX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }, 

                Package (0x02)
                {
                    0x12, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }
            })
            Method (GPC, 0, Serialized)
            {
                Return (GPCX) /* \_SB_.PC00.RP02.PXSX.GPCX */
            }

            Name (GLAX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }, 

                Package (0x02)
                {
                    0x12, 
                    Zero
                }
            })
            Method (GLAI, 0, Serialized)
            {
                ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                Return (GLAX) /* \_SB_.PC00.RP02.PXSX.GLAX */
            }
        }

        If (((WWEN != Zero) && (WWRP == SLOT)))
        {
            Method (FHRF, 1, NotSerialized)
            {
                If ((GGOV (PRST) != WPRP))
                {
                    DL23 ()
                    ADBG ("WWAN DL23() Done")
                    SGOV (PRST, WPRP)
                    ADBG ("WWAN PERST:0 Done")
                }
                Else
                {
                    ADBG ("Assume WWAN DL23() is already done")
                }

                Sleep (TR2B)
                SGOV (WBRS, PBRS)
                ADBG ("WWAN RST:0 Done")
                If ((Arg0 == Zero))
                {
                    Sleep (TBTG)
                    ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                }
                ElseIf ((Arg0 == One))
                {
                    SPCO (WCLK, Zero)
                    ADBG ("WWAN SCLK:0 Done")
                    Sleep (TB2F)
                    ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                    SGOV (WFCP, (~PFCP & One))
                    ADBG ("WWAN PWR:0 Done")
                    Sleep (TFDI)
                    ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                }
                Else
                {
                    ADBG ("Unsupported Arg0 is detected.")
                }
            }

            Method (SHRF, 0, NotSerialized)
            {
                PSD0 (SLOT)
                ADBG ("WWAN MPHYPG:0 Done")
                SPCO (WCLK, One)
                ADBG ("WWAN SCLK:1 Done")
                SGOV (WFCP, PFCP)
                ADBG ("WWAN PWR:1 Done")
                Sleep (TN2B)
                ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                SGOV (WBRS, (~PBRS & One))
                ADBG ("WWAN RST:1 Done")
                Sleep (TB2R)
                ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                SGOV (PRST, (~WPRP & One))
                ADBG ("WWAN PERST:0 Done")
                L23D ()
                ADBG ("WWAN L23D() Done")
            }

            Method (DOSV, 0, NotSerialized)
            {
                Local0 = Zero
                While (((SVID != WSID) && (Local0 < WSTO)))
                {
                    Local0++
                    Sleep (One)
                }

                ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
            }

            Method (_RST, 0, Serialized)  // _RST: Device Reset
            {
                ADBG ("_RST WWAN")
                If ((WWEN == 0x02))
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN FLDR")
                        FHRF (Zero)
                        SHRF ()
                        ADBG ("End WWAN FLDR")
                        Release (WWMT)
                        ADBG ("WWAN FLDR Mutex:Release Done")
                        DOSV ()
                    }
                }
                Else
                {
                    SGOV (WBRS, PBRS)
                    Sleep (0xC8)
                    Notify (PXSX, One) // Device Check
                    SGOV (PRST, (~WPRP & One))
                    SGOV (WBRS, (~PBRS & One))
                    Sleep (0xC8)
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x14))
                        {
                            ADBG ("FLDR TO")
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    Sleep (0x0A)
                    ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                    Notify (PXSX, One) // Device Check
                }
            }

            PowerResource (MRST, 0x05, 0x0000)
            {
                Method (_STA, 0, Serialized)  // _STA: Status
                {
                    ADBG ("WWAN PR _STA")
                    Return (One)
                }

                Method (_ON, 0, Serialized)  // _ON_: Power On
                {
                    ADBG ("WWAN PR _ON")
                }

                Method (_OFF, 0, Serialized)  // _OFF: Power Off
                {
                    ADBG ("WWAN PR _OFF")
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN PLDR")
                        FHRF (One)
                        SHRF ()
                        ADBG ("End WWAN PR _RST")
                        Release (WWMT)
                        ADBG ("WWAN PLDR Mutex: Release Done")
                        DOSV ()
                    }
                }
            }
        }

        If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
        {
            Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
            {
                If (WIST ())
                {
                    If (CondRefOf (WRST))
                    {
                        Return (Package (0x01)
                        {
                            WRST
                        })
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If (CondRefOf (MRST))
                    {
                        Return (Package (0x01)
                        {
                            MRST
                        })
                    }
                }

                Return (Package (0x01)
                {
                    WRST
                })
            }

            Name (FDEL, Zero)
            Name (PDEL, Zero)
            Name (VDEL, Zero)
            Method (IFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (One)
                        {
                             0x1F                                             // .
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    ADBG (Concatenate ("vPro: ", CVPR))
                    Local0 = (CVPR << Zero)
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    CreateWordField (Arg3, Zero, CMDT)
                    CreateWordField (Arg3, 0x02, CMDP)
                    ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                    ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                    If ((CMDT == One))
                    {
                        If (WIST ())
                        {
                            Return (RSTY) /* \_SB_.PC00.RP02.PXSX.RSTY */
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                            Return (^^^CNVW.RSTT) /* \_SB_.PC00.CNVW.RSTT */
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    If ((CMDT == 0x02))
                    {
                        If (WIST ())
                        {
                            Local0 = (CMDP & One)
                            RSTY = Local0
                            Local1 = (CMDP & 0x02)
                            Local1 >>= One
                            FLRC = Local1
                            Local2 = (CMDP & 0x04)
                            Local2 >>= 0x02
                            BOFC = Local2
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                            ^^^CNVW.RSTT = CMDP /* \_SB_.PC00.RP02.PXSX.IFUN.CMDP */
                        }

                        Return (Zero)
                    }

                    If ((CMDT == 0x03))
                    {
                        If (CondRefOf (\_SB.PC00.CNVW.PRRS))
                        {
                            ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                            Return (^^^CNVW.PRRS) /* \_SB_.PC00.CNVW.PRRS */
                        }
                        ElseIf (WIST ())
                        {
                            ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                            Return (DPRS) /* \_SB_.PC00.RP02.PXSX.DPRS */
                        }
                    }

                    Return (Zero)
                }

                If ((Arg2 == 0x03))
                {
                    If ((CRFI == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x04))
                {
                    CreateWordField (Arg3, Zero, PRTT)
                    CreateWordField (Arg3, 0x02, PRTD)
                    ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                    ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                    If ((PRTT == One))
                    {
                        FDEL = PRTD /* \_SB_.PC00.RP02.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x02))
                    {
                        PDEL = PRTD /* \_SB_.PC00.RP02.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x03))
                    {
                        VDEL = PRTD /* \_SB_.PC00.RP02.PXSX.IFUN.PRTD */
                    }
                    Else
                    {
                        ADBG ("TimerDuration not set")
                    }
                }

                Return (Zero)
            }

            Method (IDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (EFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (0x02)
                        {
                             0xFF, 0x1F                                       // ..
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    Local0 = ACSD /* \ACSD */
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    Local0 = I5BS /* \I5BS */
                    Return (Local0)
                }

                If ((Arg2 == 0x03))
                {
                    Local0 = UHBS /* \UHBS */
                    Return (Local0)
                }

                If ((Arg2 == 0x06))
                {
                    Local0 = AXMU /* \AXMU */
                    Local0 <<= One
                    Local0 |= AXSU /* \AXSU */
                    Local1 = AXMR /* \AXMR */
                    Local1 <<= One
                    Local1 |= AXSR /* \AXSR */
                    Local1 <<= 0x02
                    Local0 |= Local1
                    Return (Local0)
                }

                If ((Arg2 == 0x04))
                {
                    Return (Buffer (0x02)
                    {
                         0x03, 0x00                                       // ..
                    })
                }

                If ((Arg2 == 0x05))
                {
                    Return (WFUC) /* \WFUC */
                }

                If ((Arg2 == 0x07))
                {
                    Return (UNI4) /* \UNI4 */
                }

                If ((Arg2 == 0x08))
                {
                    Return (WFIC) /* \WFIC */
                }

                If ((Arg2 == 0x09))
                {
                    Return (WFBS) /* \WFBS */
                }

                If ((Arg2 == 0x0A))
                {
                    Return (WEDT) /* \WEDT */
                }

                If ((Arg2 == 0x0B))
                {
                    If ((CIRM == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x0C))
                {
                    Return (WF7C) /* \WF7C */
                }

                Return (Zero)
            }

            Method (EDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (WIST ())
                {
                    If (EDSM (Arg0))
                    {
                        Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (IDSM (Arg0))
                    {
                        Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x09                                             // .
                            })
                        }

                        If ((Arg2 == One)){}
                        If ((Arg2 == 0x02)){}
                        If ((Arg2 == 0x03))
                        {
                            If ((WRTO == One))
                            {
                                ADBG ("WWAN Power _DSM D0/L1.2")
                            }
                            ElseIf ((WRTO == 0x02))
                            {
                                ADBG ("WWAN Power _DSM D3/L1.2")
                            }
                            ElseIf ((WRTO == 0x03))
                            {
                                ADBG ("WWAN Power _DSM D3/L2")
                            }
                            Else
                            {
                                ADBG ("WWAN Power _DSM Disabled")
                            }

                            Return (WRTO) /* \WRTO */
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (_SB.PC00.RP03.PXSX)
    {
        OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x30)
        Field (RPXX, AnyAcc, NoLock, Preserve)
        {
            VDID,   32, 
            Offset (0x2C), 
            SVID,   16
        }

        OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WDCO), 0x06)
        Field (FLDR, ByteAcc, NoLock, Preserve)
        {
            DCAP,   32, 
            DCTR,   16
        }

        OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WVHO), 0x10)
        Field (VSEC, AnyAcc, NoLock, Preserve)
        {
            Offset (0x0C), 
                ,   1, 
            BTIE,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
            Offset (0x0D), 
            PDRC,   1
        }

        OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x02B8)
        Field (PBRR, AnyAcc, NoLock, Preserve)
        {
            Offset (0x18C), 
            MSNL,   32, 
            Offset (0x198), 
            L1C1,   32, 
            L1C2,   32, 
            Offset (0x2B4), 
            PTMR,   32
        }

        Method (WIST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x25268086)
                    {
                        Return (One)
                    }
                    Case (0x271B8086)
                    {
                        Return (One)
                    }
                    Case (0x27238086)
                    {
                        Return (One)
                    }
                    Case (0x27258086)
                    {
                        Return (One)
                    }
                    Case (0x272B8086)
                    {
                        Return (One)
                    }
                    Default
                    {
                        If ((SVDC == One))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        Method (WWST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x73608086)
                    {
                        Return (One)
                    }
                    Case (0x75608086)
                    {
                        Return (One)
                    }
                    Case (0x4D7514C3)
                    {
                        Return (One)
                    }
                    Case (0x080014C3)
                    {
                        Return (One)
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        If (WIST ())
        {
            Name (RSTY, Zero)
            Name (FLRC, Zero)
            Name (BOFC, Zero)
            Name (DPRS, Zero)
            PowerResource (WRST, 0x05, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    ADBG ("Wifi PR _STA")
                    Return (One)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    ADBG ("Wifi PR _ON")
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    ADBG ("Wifi PR _OFF")
                }

                Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                {
                    If ((RSTY == One))
                    {
                        ADBG ("Wifi Product RST")
                        Local0 = Acquire (CNMT, 0x03E8)
                        If ((Local0 == Zero))
                        {
                            If ((FLRC == One))
                            {
                                Local0 = DCTR /* \_SB_.PC00.RP03.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                                Sleep (FDEL)
                            }

                            DPRS = One
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (Zero)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = Zero
                                }

                                Sleep (RDLY)
                            }

                            PDRC = One
                            Sleep (VDEL)
                            SGOV (WLRT, Zero)
                            Sleep (PDEL)
                            SGOV (WLRT, One)
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (One)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = One
                                }

                                Sleep (RDLY)
                            }

                            DPRS = 0x02
                            Release (CNMT)
                        }
                    }
                    Else
                    {
                        ADBG ("Wifi Core RST")
                        If ((DCAP & 0x10000000))
                        {
                            Local0 = DCTR /* \_SB_.PC00.RP03.PXSX.DCTR */
                            Local0 |= 0x8000
                            DCTR = Local0
                        }

                        DPRS = One
                    }

                    Sleep (0x07D0)
                    MSNL = DR01 /* \DR01 */
                    L1C1 = DR02 /* \DR02 */
                    L1C2 = DR03 /* \DR03 */
                    PTMR = DR04 /* \DR04 */
                    Sleep (0x07D0)
                }
            }

            Name (SPLX, Package (0x02)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (SPLC, 0, Serialized)
            {
                DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                Return (SPLX) /* \_SB_.PC00.RP03.PXSX.SPLX */
            }

            Name (WANX, Package (0x03)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }, 

                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (WAND, 0, Serialized)
            {
                DerefOf (WANX [One]) [Zero] = Zero
                DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                DerefOf (WANX [0x02]) [Zero] = One
                DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                Return (WANX) /* \_SB_.PC00.RP03.PXSX.WANX */
            }

            Name (WRDX, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x80000000, 
                    0x8000
                }
            })
            Method (WRDD, 0, Serialized)
            {
                DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                Return (WRDX) /* \_SB_.PC00.RP03.PXSX.WRDX */
            }

            Name (WRDY, Package (0x02)
            {
                0x02, 
                Package (0x2E)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WRDS, 0, Serialized)
            {
                DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                Return (WRDY) /* \_SB_.PC00.RP03.PXSX.WRDY */
            }

            Name (EWRY, Package (0x02)
            {
                0x02, 
                Package (0x87)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (EWRD, 0, Serialized)
            {
                DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                Return (EWRY) /* \_SB_.PC00.RP03.PXSX.EWRY */
            }

            Name (WGDY, Package (0x02)
            {
                0x03, 
                Package (0x4A)
                {
                    0x07, 
                    0x03, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WGDS, 0, Serialized)
            {
                DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                Return (WGDY) /* \_SB_.PC00.RP03.PXSX.WGDY */
            }

            Name (ECKY, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }
            })
            Method (ECKV, 0, Serialized)
            {
                DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                Return (ECKY) /* \_SB_.PC00.RP03.PXSX.ECKY */
            }

            Name (PPAY, Package (0x02)
            {
                0x02, 
                Package (0x18)
                {
                    0x07, 
                    Zero, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28
                }
            })
            Method (PPAG, 0, Serialized)
            {
                DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                Return (PPAY) /* \_SB_.PC00.RP03.PXSX.PPAY */
            }

            Name (WPFY, Package (0x02)
            {
                Zero, 
                Package (0x05)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WPFC, 0, Serialized)
            {
                DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                DerefOf (WPFY [One]) [0x03] = \WPFC
                DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                Return (WPFY) /* \_SB_.PC00.RP03.PXSX.WPFY */
            }

            Name (WTSY, Package (0x02)
            {
                One, 
                Package (0x13)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WTAS, 0, Serialized)
            {
                DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                Return (WTSY) /* \_SB_.PC00.RP03.PXSX.WTSY */
            }

            Name (WAIY, Package (0x02)
            {
                Zero, 
                Package (0x04)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WAIS, 0, Serialized)
            {
                DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                Return (WAIY) /* \_SB_.PC00.RP03.PXSX.WAIY */
            }

            Name (SADX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    0x80000000
                }, 

                Package (0x02)
                {
                    0x12, 
                    0x80000000
                }
            })
            Method (SADS, 0, Serialized)
            {
                DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                Return (SADX) /* \_SB_.PC00.RP03.PXSX.SADX */
            }

            Name (GPCX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }, 

                Package (0x02)
                {
                    0x12, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }
            })
            Method (GPC, 0, Serialized)
            {
                Return (GPCX) /* \_SB_.PC00.RP03.PXSX.GPCX */
            }

            Name (GLAX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }, 

                Package (0x02)
                {
                    0x12, 
                    Zero
                }
            })
            Method (GLAI, 0, Serialized)
            {
                ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                Return (GLAX) /* \_SB_.PC00.RP03.PXSX.GLAX */
            }
        }

        If (((WWEN != Zero) && (WWRP == SLOT)))
        {
            Method (FHRF, 1, NotSerialized)
            {
                If ((GGOV (PRST) != WPRP))
                {
                    DL23 ()
                    ADBG ("WWAN DL23() Done")
                    SGOV (PRST, WPRP)
                    ADBG ("WWAN PERST:0 Done")
                }
                Else
                {
                    ADBG ("Assume WWAN DL23() is already done")
                }

                Sleep (TR2B)
                SGOV (WBRS, PBRS)
                ADBG ("WWAN RST:0 Done")
                If ((Arg0 == Zero))
                {
                    Sleep (TBTG)
                    ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                }
                ElseIf ((Arg0 == One))
                {
                    SPCO (WCLK, Zero)
                    ADBG ("WWAN SCLK:0 Done")
                    Sleep (TB2F)
                    ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                    SGOV (WFCP, (~PFCP & One))
                    ADBG ("WWAN PWR:0 Done")
                    Sleep (TFDI)
                    ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                }
                Else
                {
                    ADBG ("Unsupported Arg0 is detected.")
                }
            }

            Method (SHRF, 0, NotSerialized)
            {
                PSD0 (SLOT)
                ADBG ("WWAN MPHYPG:0 Done")
                SPCO (WCLK, One)
                ADBG ("WWAN SCLK:1 Done")
                SGOV (WFCP, PFCP)
                ADBG ("WWAN PWR:1 Done")
                Sleep (TN2B)
                ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                SGOV (WBRS, (~PBRS & One))
                ADBG ("WWAN RST:1 Done")
                Sleep (TB2R)
                ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                SGOV (PRST, (~WPRP & One))
                ADBG ("WWAN PERST:0 Done")
                L23D ()
                ADBG ("WWAN L23D() Done")
            }

            Method (DOSV, 0, NotSerialized)
            {
                Local0 = Zero
                While (((SVID != WSID) && (Local0 < WSTO)))
                {
                    Local0++
                    Sleep (One)
                }

                ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
            }

            Method (_RST, 0, Serialized)  // _RST: Device Reset
            {
                ADBG ("_RST WWAN")
                If ((WWEN == 0x02))
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN FLDR")
                        FHRF (Zero)
                        SHRF ()
                        ADBG ("End WWAN FLDR")
                        Release (WWMT)
                        ADBG ("WWAN FLDR Mutex:Release Done")
                        DOSV ()
                    }
                }
                Else
                {
                    SGOV (WBRS, PBRS)
                    Sleep (0xC8)
                    Notify (PXSX, One) // Device Check
                    SGOV (PRST, (~WPRP & One))
                    SGOV (WBRS, (~PBRS & One))
                    Sleep (0xC8)
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x14))
                        {
                            ADBG ("FLDR TO")
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    Sleep (0x0A)
                    ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                    Notify (PXSX, One) // Device Check
                }
            }

            PowerResource (MRST, 0x05, 0x0000)
            {
                Method (_STA, 0, Serialized)  // _STA: Status
                {
                    ADBG ("WWAN PR _STA")
                    Return (One)
                }

                Method (_ON, 0, Serialized)  // _ON_: Power On
                {
                    ADBG ("WWAN PR _ON")
                }

                Method (_OFF, 0, Serialized)  // _OFF: Power Off
                {
                    ADBG ("WWAN PR _OFF")
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN PLDR")
                        FHRF (One)
                        SHRF ()
                        ADBG ("End WWAN PR _RST")
                        Release (WWMT)
                        ADBG ("WWAN PLDR Mutex: Release Done")
                        DOSV ()
                    }
                }
            }
        }

        If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
        {
            Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
            {
                If (WIST ())
                {
                    If (CondRefOf (WRST))
                    {
                        Return (Package (0x01)
                        {
                            WRST
                        })
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If (CondRefOf (MRST))
                    {
                        Return (Package (0x01)
                        {
                            MRST
                        })
                    }
                }

                Return (Package (0x01)
                {
                    WRST
                })
            }

            Name (FDEL, Zero)
            Name (PDEL, Zero)
            Name (VDEL, Zero)
            Method (IFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (One)
                        {
                             0x1F                                             // .
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    ADBG (Concatenate ("vPro: ", CVPR))
                    Local0 = (CVPR << Zero)
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    CreateWordField (Arg3, Zero, CMDT)
                    CreateWordField (Arg3, 0x02, CMDP)
                    ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                    ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                    If ((CMDT == One))
                    {
                        If (WIST ())
                        {
                            Return (RSTY) /* \_SB_.PC00.RP03.PXSX.RSTY */
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                            Return (^^^CNVW.RSTT) /* \_SB_.PC00.CNVW.RSTT */
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    If ((CMDT == 0x02))
                    {
                        If (WIST ())
                        {
                            Local0 = (CMDP & One)
                            RSTY = Local0
                            Local1 = (CMDP & 0x02)
                            Local1 >>= One
                            FLRC = Local1
                            Local2 = (CMDP & 0x04)
                            Local2 >>= 0x02
                            BOFC = Local2
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                            ^^^CNVW.RSTT = CMDP /* \_SB_.PC00.RP03.PXSX.IFUN.CMDP */
                        }

                        Return (Zero)
                    }

                    If ((CMDT == 0x03))
                    {
                        If (CondRefOf (\_SB.PC00.CNVW.PRRS))
                        {
                            ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                            Return (^^^CNVW.PRRS) /* \_SB_.PC00.CNVW.PRRS */
                        }
                        ElseIf (WIST ())
                        {
                            ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                            Return (DPRS) /* \_SB_.PC00.RP03.PXSX.DPRS */
                        }
                    }

                    Return (Zero)
                }

                If ((Arg2 == 0x03))
                {
                    If ((CRFI == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x04))
                {
                    CreateWordField (Arg3, Zero, PRTT)
                    CreateWordField (Arg3, 0x02, PRTD)
                    ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                    ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                    If ((PRTT == One))
                    {
                        FDEL = PRTD /* \_SB_.PC00.RP03.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x02))
                    {
                        PDEL = PRTD /* \_SB_.PC00.RP03.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x03))
                    {
                        VDEL = PRTD /* \_SB_.PC00.RP03.PXSX.IFUN.PRTD */
                    }
                    Else
                    {
                        ADBG ("TimerDuration not set")
                    }
                }

                Return (Zero)
            }

            Method (IDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (EFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (0x02)
                        {
                             0xFF, 0x1F                                       // ..
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    Local0 = ACSD /* \ACSD */
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    Local0 = I5BS /* \I5BS */
                    Return (Local0)
                }

                If ((Arg2 == 0x03))
                {
                    Local0 = UHBS /* \UHBS */
                    Return (Local0)
                }

                If ((Arg2 == 0x06))
                {
                    Local0 = AXMU /* \AXMU */
                    Local0 <<= One
                    Local0 |= AXSU /* \AXSU */
                    Local1 = AXMR /* \AXMR */
                    Local1 <<= One
                    Local1 |= AXSR /* \AXSR */
                    Local1 <<= 0x02
                    Local0 |= Local1
                    Return (Local0)
                }

                If ((Arg2 == 0x04))
                {
                    Return (Buffer (0x02)
                    {
                         0x03, 0x00                                       // ..
                    })
                }

                If ((Arg2 == 0x05))
                {
                    Return (WFUC) /* \WFUC */
                }

                If ((Arg2 == 0x07))
                {
                    Return (UNI4) /* \UNI4 */
                }

                If ((Arg2 == 0x08))
                {
                    Return (WFIC) /* \WFIC */
                }

                If ((Arg2 == 0x09))
                {
                    Return (WFBS) /* \WFBS */
                }

                If ((Arg2 == 0x0A))
                {
                    Return (WEDT) /* \WEDT */
                }

                If ((Arg2 == 0x0B))
                {
                    If ((CIRM == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x0C))
                {
                    Return (WF7C) /* \WF7C */
                }

                Return (Zero)
            }

            Method (EDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (WIST ())
                {
                    If (EDSM (Arg0))
                    {
                        Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (IDSM (Arg0))
                    {
                        Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x09                                             // .
                            })
                        }

                        If ((Arg2 == One)){}
                        If ((Arg2 == 0x02)){}
                        If ((Arg2 == 0x03))
                        {
                            If ((WRTO == One))
                            {
                                ADBG ("WWAN Power _DSM D0/L1.2")
                            }
                            ElseIf ((WRTO == 0x02))
                            {
                                ADBG ("WWAN Power _DSM D3/L1.2")
                            }
                            ElseIf ((WRTO == 0x03))
                            {
                                ADBG ("WWAN Power _DSM D3/L2")
                            }
                            Else
                            {
                                ADBG ("WWAN Power _DSM Disabled")
                            }

                            Return (WRTO) /* \WRTO */
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (_SB.PC00.RP04.PXSX)
    {
        OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x30)
        Field (RPXX, AnyAcc, NoLock, Preserve)
        {
            VDID,   32, 
            Offset (0x2C), 
            SVID,   16
        }

        OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WDCO), 0x06)
        Field (FLDR, ByteAcc, NoLock, Preserve)
        {
            DCAP,   32, 
            DCTR,   16
        }

        OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WVHO), 0x10)
        Field (VSEC, AnyAcc, NoLock, Preserve)
        {
            Offset (0x0C), 
                ,   1, 
            BTIE,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
            Offset (0x0D), 
            PDRC,   1
        }

        OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x02B8)
        Field (PBRR, AnyAcc, NoLock, Preserve)
        {
            Offset (0x18C), 
            MSNL,   32, 
            Offset (0x198), 
            L1C1,   32, 
            L1C2,   32, 
            Offset (0x2B4), 
            PTMR,   32
        }

        Method (WIST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x25268086)
                    {
                        Return (One)
                    }
                    Case (0x271B8086)
                    {
                        Return (One)
                    }
                    Case (0x27238086)
                    {
                        Return (One)
                    }
                    Case (0x27258086)
                    {
                        Return (One)
                    }
                    Case (0x272B8086)
                    {
                        Return (One)
                    }
                    Default
                    {
                        If ((SVDC == One))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        Method (WWST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x73608086)
                    {
                        Return (One)
                    }
                    Case (0x75608086)
                    {
                        Return (One)
                    }
                    Case (0x4D7514C3)
                    {
                        Return (One)
                    }
                    Case (0x080014C3)
                    {
                        Return (One)
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        If (WIST ())
        {
            Name (RSTY, Zero)
            Name (FLRC, Zero)
            Name (BOFC, Zero)
            Name (DPRS, Zero)
            PowerResource (WRST, 0x05, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    ADBG ("Wifi PR _STA")
                    Return (One)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    ADBG ("Wifi PR _ON")
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    ADBG ("Wifi PR _OFF")
                }

                Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                {
                    If ((RSTY == One))
                    {
                        ADBG ("Wifi Product RST")
                        Local0 = Acquire (CNMT, 0x03E8)
                        If ((Local0 == Zero))
                        {
                            If ((FLRC == One))
                            {
                                Local0 = DCTR /* \_SB_.PC00.RP04.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                                Sleep (FDEL)
                            }

                            DPRS = One
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (Zero)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = Zero
                                }

                                Sleep (RDLY)
                            }

                            PDRC = One
                            Sleep (VDEL)
                            SGOV (WLRT, Zero)
                            Sleep (PDEL)
                            SGOV (WLRT, One)
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (One)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = One
                                }

                                Sleep (RDLY)
                            }

                            DPRS = 0x02
                            Release (CNMT)
                        }
                    }
                    Else
                    {
                        ADBG ("Wifi Core RST")
                        If ((DCAP & 0x10000000))
                        {
                            Local0 = DCTR /* \_SB_.PC00.RP04.PXSX.DCTR */
                            Local0 |= 0x8000
                            DCTR = Local0
                        }

                        DPRS = One
                    }

                    Sleep (0x07D0)
                    MSNL = DR01 /* \DR01 */
                    L1C1 = DR02 /* \DR02 */
                    L1C2 = DR03 /* \DR03 */
                    PTMR = DR04 /* \DR04 */
                    Sleep (0x07D0)
                }
            }

            Name (SPLX, Package (0x02)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (SPLC, 0, Serialized)
            {
                DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                Return (SPLX) /* \_SB_.PC00.RP04.PXSX.SPLX */
            }

            Name (WANX, Package (0x03)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }, 

                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (WAND, 0, Serialized)
            {
                DerefOf (WANX [One]) [Zero] = Zero
                DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                DerefOf (WANX [0x02]) [Zero] = One
                DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                Return (WANX) /* \_SB_.PC00.RP04.PXSX.WANX */
            }

            Name (WRDX, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x80000000, 
                    0x8000
                }
            })
            Method (WRDD, 0, Serialized)
            {
                DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                Return (WRDX) /* \_SB_.PC00.RP04.PXSX.WRDX */
            }

            Name (WRDY, Package (0x02)
            {
                0x02, 
                Package (0x2E)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WRDS, 0, Serialized)
            {
                DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                Return (WRDY) /* \_SB_.PC00.RP04.PXSX.WRDY */
            }

            Name (EWRY, Package (0x02)
            {
                0x02, 
                Package (0x87)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (EWRD, 0, Serialized)
            {
                DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                Return (EWRY) /* \_SB_.PC00.RP04.PXSX.EWRY */
            }

            Name (WGDY, Package (0x02)
            {
                0x03, 
                Package (0x4A)
                {
                    0x07, 
                    0x03, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WGDS, 0, Serialized)
            {
                DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                Return (WGDY) /* \_SB_.PC00.RP04.PXSX.WGDY */
            }

            Name (ECKY, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }
            })
            Method (ECKV, 0, Serialized)
            {
                DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                Return (ECKY) /* \_SB_.PC00.RP04.PXSX.ECKY */
            }

            Name (PPAY, Package (0x02)
            {
                0x02, 
                Package (0x18)
                {
                    0x07, 
                    Zero, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28
                }
            })
            Method (PPAG, 0, Serialized)
            {
                DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                Return (PPAY) /* \_SB_.PC00.RP04.PXSX.PPAY */
            }

            Name (WPFY, Package (0x02)
            {
                Zero, 
                Package (0x05)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WPFC, 0, Serialized)
            {
                DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                DerefOf (WPFY [One]) [0x03] = \WPFC
                DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                Return (WPFY) /* \_SB_.PC00.RP04.PXSX.WPFY */
            }

            Name (WTSY, Package (0x02)
            {
                One, 
                Package (0x13)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WTAS, 0, Serialized)
            {
                DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                Return (WTSY) /* \_SB_.PC00.RP04.PXSX.WTSY */
            }

            Name (WAIY, Package (0x02)
            {
                Zero, 
                Package (0x04)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WAIS, 0, Serialized)
            {
                DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                Return (WAIY) /* \_SB_.PC00.RP04.PXSX.WAIY */
            }

            Name (SADX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    0x80000000
                }, 

                Package (0x02)
                {
                    0x12, 
                    0x80000000
                }
            })
            Method (SADS, 0, Serialized)
            {
                DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                Return (SADX) /* \_SB_.PC00.RP04.PXSX.SADX */
            }

            Name (GPCX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }, 

                Package (0x02)
                {
                    0x12, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }
            })
            Method (GPC, 0, Serialized)
            {
                Return (GPCX) /* \_SB_.PC00.RP04.PXSX.GPCX */
            }

            Name (GLAX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }, 

                Package (0x02)
                {
                    0x12, 
                    Zero
                }
            })
            Method (GLAI, 0, Serialized)
            {
                ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                Return (GLAX) /* \_SB_.PC00.RP04.PXSX.GLAX */
            }
        }

        If (((WWEN != Zero) && (WWRP == SLOT)))
        {
            Method (FHRF, 1, NotSerialized)
            {
                If ((GGOV (PRST) != WPRP))
                {
                    DL23 ()
                    ADBG ("WWAN DL23() Done")
                    SGOV (PRST, WPRP)
                    ADBG ("WWAN PERST:0 Done")
                }
                Else
                {
                    ADBG ("Assume WWAN DL23() is already done")
                }

                Sleep (TR2B)
                SGOV (WBRS, PBRS)
                ADBG ("WWAN RST:0 Done")
                If ((Arg0 == Zero))
                {
                    Sleep (TBTG)
                    ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                }
                ElseIf ((Arg0 == One))
                {
                    SPCO (WCLK, Zero)
                    ADBG ("WWAN SCLK:0 Done")
                    Sleep (TB2F)
                    ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                    SGOV (WFCP, (~PFCP & One))
                    ADBG ("WWAN PWR:0 Done")
                    Sleep (TFDI)
                    ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                }
                Else
                {
                    ADBG ("Unsupported Arg0 is detected.")
                }
            }

            Method (SHRF, 0, NotSerialized)
            {
                PSD0 (SLOT)
                ADBG ("WWAN MPHYPG:0 Done")
                SPCO (WCLK, One)
                ADBG ("WWAN SCLK:1 Done")
                SGOV (WFCP, PFCP)
                ADBG ("WWAN PWR:1 Done")
                Sleep (TN2B)
                ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                SGOV (WBRS, (~PBRS & One))
                ADBG ("WWAN RST:1 Done")
                Sleep (TB2R)
                ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                SGOV (PRST, (~WPRP & One))
                ADBG ("WWAN PERST:0 Done")
                L23D ()
                ADBG ("WWAN L23D() Done")
            }

            Method (DOSV, 0, NotSerialized)
            {
                Local0 = Zero
                While (((SVID != WSID) && (Local0 < WSTO)))
                {
                    Local0++
                    Sleep (One)
                }

                ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
            }

            Method (_RST, 0, Serialized)  // _RST: Device Reset
            {
                ADBG ("_RST WWAN")
                If ((WWEN == 0x02))
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN FLDR")
                        FHRF (Zero)
                        SHRF ()
                        ADBG ("End WWAN FLDR")
                        Release (WWMT)
                        ADBG ("WWAN FLDR Mutex:Release Done")
                        DOSV ()
                    }
                }
                Else
                {
                    SGOV (WBRS, PBRS)
                    Sleep (0xC8)
                    Notify (PXSX, One) // Device Check
                    SGOV (PRST, (~WPRP & One))
                    SGOV (WBRS, (~PBRS & One))
                    Sleep (0xC8)
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x14))
                        {
                            ADBG ("FLDR TO")
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    Sleep (0x0A)
                    ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                    Notify (PXSX, One) // Device Check
                }
            }

            PowerResource (MRST, 0x05, 0x0000)
            {
                Method (_STA, 0, Serialized)  // _STA: Status
                {
                    ADBG ("WWAN PR _STA")
                    Return (One)
                }

                Method (_ON, 0, Serialized)  // _ON_: Power On
                {
                    ADBG ("WWAN PR _ON")
                }

                Method (_OFF, 0, Serialized)  // _OFF: Power Off
                {
                    ADBG ("WWAN PR _OFF")
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN PLDR")
                        FHRF (One)
                        SHRF ()
                        ADBG ("End WWAN PR _RST")
                        Release (WWMT)
                        ADBG ("WWAN PLDR Mutex: Release Done")
                        DOSV ()
                    }
                }
            }
        }

        If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
        {
            Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
            {
                If (WIST ())
                {
                    If (CondRefOf (WRST))
                    {
                        Return (Package (0x01)
                        {
                            WRST
                        })
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If (CondRefOf (MRST))
                    {
                        Return (Package (0x01)
                        {
                            MRST
                        })
                    }
                }

                Return (Package (0x01)
                {
                    WRST
                })
            }

            Name (FDEL, Zero)
            Name (PDEL, Zero)
            Name (VDEL, Zero)
            Method (IFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (One)
                        {
                             0x1F                                             // .
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    ADBG (Concatenate ("vPro: ", CVPR))
                    Local0 = (CVPR << Zero)
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    CreateWordField (Arg3, Zero, CMDT)
                    CreateWordField (Arg3, 0x02, CMDP)
                    ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                    ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                    If ((CMDT == One))
                    {
                        If (WIST ())
                        {
                            Return (RSTY) /* \_SB_.PC00.RP04.PXSX.RSTY */
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                            Return (^^^CNVW.RSTT) /* \_SB_.PC00.CNVW.RSTT */
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    If ((CMDT == 0x02))
                    {
                        If (WIST ())
                        {
                            Local0 = (CMDP & One)
                            RSTY = Local0
                            Local1 = (CMDP & 0x02)
                            Local1 >>= One
                            FLRC = Local1
                            Local2 = (CMDP & 0x04)
                            Local2 >>= 0x02
                            BOFC = Local2
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                            ^^^CNVW.RSTT = CMDP /* \_SB_.PC00.RP04.PXSX.IFUN.CMDP */
                        }

                        Return (Zero)
                    }

                    If ((CMDT == 0x03))
                    {
                        If (CondRefOf (\_SB.PC00.CNVW.PRRS))
                        {
                            ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                            Return (^^^CNVW.PRRS) /* \_SB_.PC00.CNVW.PRRS */
                        }
                        ElseIf (WIST ())
                        {
                            ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                            Return (DPRS) /* \_SB_.PC00.RP04.PXSX.DPRS */
                        }
                    }

                    Return (Zero)
                }

                If ((Arg2 == 0x03))
                {
                    If ((CRFI == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x04))
                {
                    CreateWordField (Arg3, Zero, PRTT)
                    CreateWordField (Arg3, 0x02, PRTD)
                    ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                    ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                    If ((PRTT == One))
                    {
                        FDEL = PRTD /* \_SB_.PC00.RP04.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x02))
                    {
                        PDEL = PRTD /* \_SB_.PC00.RP04.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x03))
                    {
                        VDEL = PRTD /* \_SB_.PC00.RP04.PXSX.IFUN.PRTD */
                    }
                    Else
                    {
                        ADBG ("TimerDuration not set")
                    }
                }

                Return (Zero)
            }

            Method (IDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (EFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (0x02)
                        {
                             0xFF, 0x1F                                       // ..
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    Local0 = ACSD /* \ACSD */
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    Local0 = I5BS /* \I5BS */
                    Return (Local0)
                }

                If ((Arg2 == 0x03))
                {
                    Local0 = UHBS /* \UHBS */
                    Return (Local0)
                }

                If ((Arg2 == 0x06))
                {
                    Local0 = AXMU /* \AXMU */
                    Local0 <<= One
                    Local0 |= AXSU /* \AXSU */
                    Local1 = AXMR /* \AXMR */
                    Local1 <<= One
                    Local1 |= AXSR /* \AXSR */
                    Local1 <<= 0x02
                    Local0 |= Local1
                    Return (Local0)
                }

                If ((Arg2 == 0x04))
                {
                    Return (Buffer (0x02)
                    {
                         0x03, 0x00                                       // ..
                    })
                }

                If ((Arg2 == 0x05))
                {
                    Return (WFUC) /* \WFUC */
                }

                If ((Arg2 == 0x07))
                {
                    Return (UNI4) /* \UNI4 */
                }

                If ((Arg2 == 0x08))
                {
                    Return (WFIC) /* \WFIC */
                }

                If ((Arg2 == 0x09))
                {
                    Return (WFBS) /* \WFBS */
                }

                If ((Arg2 == 0x0A))
                {
                    Return (WEDT) /* \WEDT */
                }

                If ((Arg2 == 0x0B))
                {
                    If ((CIRM == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x0C))
                {
                    Return (WF7C) /* \WF7C */
                }

                Return (Zero)
            }

            Method (EDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (WIST ())
                {
                    If (EDSM (Arg0))
                    {
                        Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (IDSM (Arg0))
                    {
                        Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x09                                             // .
                            })
                        }

                        If ((Arg2 == One)){}
                        If ((Arg2 == 0x02)){}
                        If ((Arg2 == 0x03))
                        {
                            If ((WRTO == One))
                            {
                                ADBG ("WWAN Power _DSM D0/L1.2")
                            }
                            ElseIf ((WRTO == 0x02))
                            {
                                ADBG ("WWAN Power _DSM D3/L1.2")
                            }
                            ElseIf ((WRTO == 0x03))
                            {
                                ADBG ("WWAN Power _DSM D3/L2")
                            }
                            Else
                            {
                                ADBG ("WWAN Power _DSM Disabled")
                            }

                            Return (WRTO) /* \WRTO */
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (_SB.PC00.RP05.PXSX)
    {
        OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x30)
        Field (RPXX, AnyAcc, NoLock, Preserve)
        {
            VDID,   32, 
            Offset (0x2C), 
            SVID,   16
        }

        OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WDCO), 0x06)
        Field (FLDR, ByteAcc, NoLock, Preserve)
        {
            DCAP,   32, 
            DCTR,   16
        }

        OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WVHO), 0x10)
        Field (VSEC, AnyAcc, NoLock, Preserve)
        {
            Offset (0x0C), 
                ,   1, 
            BTIE,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
            Offset (0x0D), 
            PDRC,   1
        }

        OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x02B8)
        Field (PBRR, AnyAcc, NoLock, Preserve)
        {
            Offset (0x18C), 
            MSNL,   32, 
            Offset (0x198), 
            L1C1,   32, 
            L1C2,   32, 
            Offset (0x2B4), 
            PTMR,   32
        }

        Method (WIST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x25268086)
                    {
                        Return (One)
                    }
                    Case (0x271B8086)
                    {
                        Return (One)
                    }
                    Case (0x27238086)
                    {
                        Return (One)
                    }
                    Case (0x27258086)
                    {
                        Return (One)
                    }
                    Case (0x272B8086)
                    {
                        Return (One)
                    }
                    Default
                    {
                        If ((SVDC == One))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        Method (WWST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x73608086)
                    {
                        Return (One)
                    }
                    Case (0x75608086)
                    {
                        Return (One)
                    }
                    Case (0x4D7514C3)
                    {
                        Return (One)
                    }
                    Case (0x080014C3)
                    {
                        Return (One)
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        If (WIST ())
        {
            Name (RSTY, Zero)
            Name (FLRC, Zero)
            Name (BOFC, Zero)
            Name (DPRS, Zero)
            PowerResource (WRST, 0x05, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    ADBG ("Wifi PR _STA")
                    Return (One)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    ADBG ("Wifi PR _ON")
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    ADBG ("Wifi PR _OFF")
                }

                Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                {
                    If ((RSTY == One))
                    {
                        ADBG ("Wifi Product RST")
                        Local0 = Acquire (CNMT, 0x03E8)
                        If ((Local0 == Zero))
                        {
                            If ((FLRC == One))
                            {
                                Local0 = DCTR /* \_SB_.PC00.RP05.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                                Sleep (FDEL)
                            }

                            DPRS = One
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (Zero)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = Zero
                                }

                                Sleep (RDLY)
                            }

                            PDRC = One
                            Sleep (VDEL)
                            SGOV (WLRT, Zero)
                            Sleep (PDEL)
                            SGOV (WLRT, One)
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (One)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = One
                                }

                                Sleep (RDLY)
                            }

                            DPRS = 0x02
                            Release (CNMT)
                        }
                    }
                    Else
                    {
                        ADBG ("Wifi Core RST")
                        If ((DCAP & 0x10000000))
                        {
                            Local0 = DCTR /* \_SB_.PC00.RP05.PXSX.DCTR */
                            Local0 |= 0x8000
                            DCTR = Local0
                        }

                        DPRS = One
                    }

                    Sleep (0x07D0)
                    MSNL = DR01 /* \DR01 */
                    L1C1 = DR02 /* \DR02 */
                    L1C2 = DR03 /* \DR03 */
                    PTMR = DR04 /* \DR04 */
                    Sleep (0x07D0)
                }
            }

            Name (SPLX, Package (0x02)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (SPLC, 0, Serialized)
            {
                DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                Return (SPLX) /* \_SB_.PC00.RP05.PXSX.SPLX */
            }

            Name (WANX, Package (0x03)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }, 

                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (WAND, 0, Serialized)
            {
                DerefOf (WANX [One]) [Zero] = Zero
                DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                DerefOf (WANX [0x02]) [Zero] = One
                DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                Return (WANX) /* \_SB_.PC00.RP05.PXSX.WANX */
            }

            Name (WRDX, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x80000000, 
                    0x8000
                }
            })
            Method (WRDD, 0, Serialized)
            {
                DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                Return (WRDX) /* \_SB_.PC00.RP05.PXSX.WRDX */
            }

            Name (WRDY, Package (0x02)
            {
                0x02, 
                Package (0x2E)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WRDS, 0, Serialized)
            {
                DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                Return (WRDY) /* \_SB_.PC00.RP05.PXSX.WRDY */
            }

            Name (EWRY, Package (0x02)
            {
                0x02, 
                Package (0x87)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (EWRD, 0, Serialized)
            {
                DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                Return (EWRY) /* \_SB_.PC00.RP05.PXSX.EWRY */
            }

            Name (WGDY, Package (0x02)
            {
                0x03, 
                Package (0x4A)
                {
                    0x07, 
                    0x03, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WGDS, 0, Serialized)
            {
                DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                Return (WGDY) /* \_SB_.PC00.RP05.PXSX.WGDY */
            }

            Name (ECKY, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }
            })
            Method (ECKV, 0, Serialized)
            {
                DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                Return (ECKY) /* \_SB_.PC00.RP05.PXSX.ECKY */
            }

            Name (PPAY, Package (0x02)
            {
                0x02, 
                Package (0x18)
                {
                    0x07, 
                    Zero, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28
                }
            })
            Method (PPAG, 0, Serialized)
            {
                DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                Return (PPAY) /* \_SB_.PC00.RP05.PXSX.PPAY */
            }

            Name (WPFY, Package (0x02)
            {
                Zero, 
                Package (0x05)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WPFC, 0, Serialized)
            {
                DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                DerefOf (WPFY [One]) [0x03] = \WPFC
                DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                Return (WPFY) /* \_SB_.PC00.RP05.PXSX.WPFY */
            }

            Name (WTSY, Package (0x02)
            {
                One, 
                Package (0x13)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WTAS, 0, Serialized)
            {
                DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                Return (WTSY) /* \_SB_.PC00.RP05.PXSX.WTSY */
            }

            Name (WAIY, Package (0x02)
            {
                Zero, 
                Package (0x04)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WAIS, 0, Serialized)
            {
                DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                Return (WAIY) /* \_SB_.PC00.RP05.PXSX.WAIY */
            }

            Name (SADX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    0x80000000
                }, 

                Package (0x02)
                {
                    0x12, 
                    0x80000000
                }
            })
            Method (SADS, 0, Serialized)
            {
                DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                Return (SADX) /* \_SB_.PC00.RP05.PXSX.SADX */
            }

            Name (GPCX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }, 

                Package (0x02)
                {
                    0x12, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }
            })
            Method (GPC, 0, Serialized)
            {
                Return (GPCX) /* \_SB_.PC00.RP05.PXSX.GPCX */
            }

            Name (GLAX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }, 

                Package (0x02)
                {
                    0x12, 
                    Zero
                }
            })
            Method (GLAI, 0, Serialized)
            {
                ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                Return (GLAX) /* \_SB_.PC00.RP05.PXSX.GLAX */
            }
        }

        If (((WWEN != Zero) && (WWRP == SLOT)))
        {
            Method (FHRF, 1, NotSerialized)
            {
                If ((GGOV (PRST) != WPRP))
                {
                    DL23 ()
                    ADBG ("WWAN DL23() Done")
                    SGOV (PRST, WPRP)
                    ADBG ("WWAN PERST:0 Done")
                }
                Else
                {
                    ADBG ("Assume WWAN DL23() is already done")
                }

                Sleep (TR2B)
                SGOV (WBRS, PBRS)
                ADBG ("WWAN RST:0 Done")
                If ((Arg0 == Zero))
                {
                    Sleep (TBTG)
                    ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                }
                ElseIf ((Arg0 == One))
                {
                    SPCO (WCLK, Zero)
                    ADBG ("WWAN SCLK:0 Done")
                    Sleep (TB2F)
                    ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                    SGOV (WFCP, (~PFCP & One))
                    ADBG ("WWAN PWR:0 Done")
                    Sleep (TFDI)
                    ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                }
                Else
                {
                    ADBG ("Unsupported Arg0 is detected.")
                }
            }

            Method (SHRF, 0, NotSerialized)
            {
                PSD0 (SLOT)
                ADBG ("WWAN MPHYPG:0 Done")
                SPCO (WCLK, One)
                ADBG ("WWAN SCLK:1 Done")
                SGOV (WFCP, PFCP)
                ADBG ("WWAN PWR:1 Done")
                Sleep (TN2B)
                ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                SGOV (WBRS, (~PBRS & One))
                ADBG ("WWAN RST:1 Done")
                Sleep (TB2R)
                ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                SGOV (PRST, (~WPRP & One))
                ADBG ("WWAN PERST:0 Done")
                L23D ()
                ADBG ("WWAN L23D() Done")
            }

            Method (DOSV, 0, NotSerialized)
            {
                Local0 = Zero
                While (((SVID != WSID) && (Local0 < WSTO)))
                {
                    Local0++
                    Sleep (One)
                }

                ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
            }

            Method (_RST, 0, Serialized)  // _RST: Device Reset
            {
                ADBG ("_RST WWAN")
                If ((WWEN == 0x02))
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN FLDR")
                        FHRF (Zero)
                        SHRF ()
                        ADBG ("End WWAN FLDR")
                        Release (WWMT)
                        ADBG ("WWAN FLDR Mutex:Release Done")
                        DOSV ()
                    }
                }
                Else
                {
                    SGOV (WBRS, PBRS)
                    Sleep (0xC8)
                    Notify (PXSX, One) // Device Check
                    SGOV (PRST, (~WPRP & One))
                    SGOV (WBRS, (~PBRS & One))
                    Sleep (0xC8)
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x14))
                        {
                            ADBG ("FLDR TO")
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    Sleep (0x0A)
                    ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                    Notify (PXSX, One) // Device Check
                }
            }

            PowerResource (MRST, 0x05, 0x0000)
            {
                Method (_STA, 0, Serialized)  // _STA: Status
                {
                    ADBG ("WWAN PR _STA")
                    Return (One)
                }

                Method (_ON, 0, Serialized)  // _ON_: Power On
                {
                    ADBG ("WWAN PR _ON")
                }

                Method (_OFF, 0, Serialized)  // _OFF: Power Off
                {
                    ADBG ("WWAN PR _OFF")
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN PLDR")
                        FHRF (One)
                        SHRF ()
                        ADBG ("End WWAN PR _RST")
                        Release (WWMT)
                        ADBG ("WWAN PLDR Mutex: Release Done")
                        DOSV ()
                    }
                }
            }
        }

        If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
        {
            Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
            {
                If (WIST ())
                {
                    If (CondRefOf (WRST))
                    {
                        Return (Package (0x01)
                        {
                            WRST
                        })
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If (CondRefOf (MRST))
                    {
                        Return (Package (0x01)
                        {
                            MRST
                        })
                    }
                }

                Return (Package (0x01)
                {
                    WRST
                })
            }

            Name (FDEL, Zero)
            Name (PDEL, Zero)
            Name (VDEL, Zero)
            Method (IFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (One)
                        {
                             0x1F                                             // .
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    ADBG (Concatenate ("vPro: ", CVPR))
                    Local0 = (CVPR << Zero)
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    CreateWordField (Arg3, Zero, CMDT)
                    CreateWordField (Arg3, 0x02, CMDP)
                    ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                    ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                    If ((CMDT == One))
                    {
                        If (WIST ())
                        {
                            Return (RSTY) /* \_SB_.PC00.RP05.PXSX.RSTY */
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                            Return (^^^CNVW.RSTT) /* \_SB_.PC00.CNVW.RSTT */
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    If ((CMDT == 0x02))
                    {
                        If (WIST ())
                        {
                            Local0 = (CMDP & One)
                            RSTY = Local0
                            Local1 = (CMDP & 0x02)
                            Local1 >>= One
                            FLRC = Local1
                            Local2 = (CMDP & 0x04)
                            Local2 >>= 0x02
                            BOFC = Local2
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                            ^^^CNVW.RSTT = CMDP /* \_SB_.PC00.RP05.PXSX.IFUN.CMDP */
                        }

                        Return (Zero)
                    }

                    If ((CMDT == 0x03))
                    {
                        If (CondRefOf (\_SB.PC00.CNVW.PRRS))
                        {
                            ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                            Return (^^^CNVW.PRRS) /* \_SB_.PC00.CNVW.PRRS */
                        }
                        ElseIf (WIST ())
                        {
                            ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                            Return (DPRS) /* \_SB_.PC00.RP05.PXSX.DPRS */
                        }
                    }

                    Return (Zero)
                }

                If ((Arg2 == 0x03))
                {
                    If ((CRFI == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x04))
                {
                    CreateWordField (Arg3, Zero, PRTT)
                    CreateWordField (Arg3, 0x02, PRTD)
                    ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                    ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                    If ((PRTT == One))
                    {
                        FDEL = PRTD /* \_SB_.PC00.RP05.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x02))
                    {
                        PDEL = PRTD /* \_SB_.PC00.RP05.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x03))
                    {
                        VDEL = PRTD /* \_SB_.PC00.RP05.PXSX.IFUN.PRTD */
                    }
                    Else
                    {
                        ADBG ("TimerDuration not set")
                    }
                }

                Return (Zero)
            }

            Method (IDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (EFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (0x02)
                        {
                             0xFF, 0x1F                                       // ..
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    Local0 = ACSD /* \ACSD */
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    Local0 = I5BS /* \I5BS */
                    Return (Local0)
                }

                If ((Arg2 == 0x03))
                {
                    Local0 = UHBS /* \UHBS */
                    Return (Local0)
                }

                If ((Arg2 == 0x06))
                {
                    Local0 = AXMU /* \AXMU */
                    Local0 <<= One
                    Local0 |= AXSU /* \AXSU */
                    Local1 = AXMR /* \AXMR */
                    Local1 <<= One
                    Local1 |= AXSR /* \AXSR */
                    Local1 <<= 0x02
                    Local0 |= Local1
                    Return (Local0)
                }

                If ((Arg2 == 0x04))
                {
                    Return (Buffer (0x02)
                    {
                         0x03, 0x00                                       // ..
                    })
                }

                If ((Arg2 == 0x05))
                {
                    Return (WFUC) /* \WFUC */
                }

                If ((Arg2 == 0x07))
                {
                    Return (UNI4) /* \UNI4 */
                }

                If ((Arg2 == 0x08))
                {
                    Return (WFIC) /* \WFIC */
                }

                If ((Arg2 == 0x09))
                {
                    Return (WFBS) /* \WFBS */
                }

                If ((Arg2 == 0x0A))
                {
                    Return (WEDT) /* \WEDT */
                }

                If ((Arg2 == 0x0B))
                {
                    If ((CIRM == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x0C))
                {
                    Return (WF7C) /* \WF7C */
                }

                Return (Zero)
            }

            Method (EDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (WIST ())
                {
                    If (EDSM (Arg0))
                    {
                        Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (IDSM (Arg0))
                    {
                        Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x09                                             // .
                            })
                        }

                        If ((Arg2 == One)){}
                        If ((Arg2 == 0x02)){}
                        If ((Arg2 == 0x03))
                        {
                            If ((WRTO == One))
                            {
                                ADBG ("WWAN Power _DSM D0/L1.2")
                            }
                            ElseIf ((WRTO == 0x02))
                            {
                                ADBG ("WWAN Power _DSM D3/L1.2")
                            }
                            ElseIf ((WRTO == 0x03))
                            {
                                ADBG ("WWAN Power _DSM D3/L2")
                            }
                            Else
                            {
                                ADBG ("WWAN Power _DSM Disabled")
                            }

                            Return (WRTO) /* \WRTO */
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (_SB.PC00.RP06.PXSX)
    {
        OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x30)
        Field (RPXX, AnyAcc, NoLock, Preserve)
        {
            VDID,   32, 
            Offset (0x2C), 
            SVID,   16
        }

        OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WDCO), 0x06)
        Field (FLDR, ByteAcc, NoLock, Preserve)
        {
            DCAP,   32, 
            DCTR,   16
        }

        OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WVHO), 0x10)
        Field (VSEC, AnyAcc, NoLock, Preserve)
        {
            Offset (0x0C), 
                ,   1, 
            BTIE,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
            Offset (0x0D), 
            PDRC,   1
        }

        OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x02B8)
        Field (PBRR, AnyAcc, NoLock, Preserve)
        {
            Offset (0x18C), 
            MSNL,   32, 
            Offset (0x198), 
            L1C1,   32, 
            L1C2,   32, 
            Offset (0x2B4), 
            PTMR,   32
        }

        Method (WIST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x25268086)
                    {
                        Return (One)
                    }
                    Case (0x271B8086)
                    {
                        Return (One)
                    }
                    Case (0x27238086)
                    {
                        Return (One)
                    }
                    Case (0x27258086)
                    {
                        Return (One)
                    }
                    Case (0x272B8086)
                    {
                        Return (One)
                    }
                    Default
                    {
                        If ((SVDC == One))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        Method (WWST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x73608086)
                    {
                        Return (One)
                    }
                    Case (0x75608086)
                    {
                        Return (One)
                    }
                    Case (0x4D7514C3)
                    {
                        Return (One)
                    }
                    Case (0x080014C3)
                    {
                        Return (One)
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        If (WIST ())
        {
            Name (RSTY, Zero)
            Name (FLRC, Zero)
            Name (BOFC, Zero)
            Name (DPRS, Zero)
            PowerResource (WRST, 0x05, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    ADBG ("Wifi PR _STA")
                    Return (One)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    ADBG ("Wifi PR _ON")
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    ADBG ("Wifi PR _OFF")
                }

                Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                {
                    If ((RSTY == One))
                    {
                        ADBG ("Wifi Product RST")
                        Local0 = Acquire (CNMT, 0x03E8)
                        If ((Local0 == Zero))
                        {
                            If ((FLRC == One))
                            {
                                Local0 = DCTR /* \_SB_.PC00.RP06.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                                Sleep (FDEL)
                            }

                            DPRS = One
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (Zero)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = Zero
                                }

                                Sleep (RDLY)
                            }

                            PDRC = One
                            Sleep (VDEL)
                            SGOV (WLRT, Zero)
                            Sleep (PDEL)
                            SGOV (WLRT, One)
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (One)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = One
                                }

                                Sleep (RDLY)
                            }

                            DPRS = 0x02
                            Release (CNMT)
                        }
                    }
                    Else
                    {
                        ADBG ("Wifi Core RST")
                        If ((DCAP & 0x10000000))
                        {
                            Local0 = DCTR /* \_SB_.PC00.RP06.PXSX.DCTR */
                            Local0 |= 0x8000
                            DCTR = Local0
                        }

                        DPRS = One
                    }

                    Sleep (0x07D0)
                    MSNL = DR01 /* \DR01 */
                    L1C1 = DR02 /* \DR02 */
                    L1C2 = DR03 /* \DR03 */
                    PTMR = DR04 /* \DR04 */
                    Sleep (0x07D0)
                }
            }

            Name (SPLX, Package (0x02)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (SPLC, 0, Serialized)
            {
                DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                Return (SPLX) /* \_SB_.PC00.RP06.PXSX.SPLX */
            }

            Name (WANX, Package (0x03)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }, 

                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (WAND, 0, Serialized)
            {
                DerefOf (WANX [One]) [Zero] = Zero
                DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                DerefOf (WANX [0x02]) [Zero] = One
                DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                Return (WANX) /* \_SB_.PC00.RP06.PXSX.WANX */
            }

            Name (WRDX, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x80000000, 
                    0x8000
                }
            })
            Method (WRDD, 0, Serialized)
            {
                DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                Return (WRDX) /* \_SB_.PC00.RP06.PXSX.WRDX */
            }

            Name (WRDY, Package (0x02)
            {
                0x02, 
                Package (0x2E)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WRDS, 0, Serialized)
            {
                DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                Return (WRDY) /* \_SB_.PC00.RP06.PXSX.WRDY */
            }

            Name (EWRY, Package (0x02)
            {
                0x02, 
                Package (0x87)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (EWRD, 0, Serialized)
            {
                DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                Return (EWRY) /* \_SB_.PC00.RP06.PXSX.EWRY */
            }

            Name (WGDY, Package (0x02)
            {
                0x03, 
                Package (0x4A)
                {
                    0x07, 
                    0x03, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WGDS, 0, Serialized)
            {
                DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                Return (WGDY) /* \_SB_.PC00.RP06.PXSX.WGDY */
            }

            Name (ECKY, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }
            })
            Method (ECKV, 0, Serialized)
            {
                DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                Return (ECKY) /* \_SB_.PC00.RP06.PXSX.ECKY */
            }

            Name (PPAY, Package (0x02)
            {
                0x02, 
                Package (0x18)
                {
                    0x07, 
                    Zero, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28
                }
            })
            Method (PPAG, 0, Serialized)
            {
                DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                Return (PPAY) /* \_SB_.PC00.RP06.PXSX.PPAY */
            }

            Name (WPFY, Package (0x02)
            {
                Zero, 
                Package (0x05)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WPFC, 0, Serialized)
            {
                DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                DerefOf (WPFY [One]) [0x03] = \WPFC
                DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                Return (WPFY) /* \_SB_.PC00.RP06.PXSX.WPFY */
            }

            Name (WTSY, Package (0x02)
            {
                One, 
                Package (0x13)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WTAS, 0, Serialized)
            {
                DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                Return (WTSY) /* \_SB_.PC00.RP06.PXSX.WTSY */
            }

            Name (WAIY, Package (0x02)
            {
                Zero, 
                Package (0x04)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WAIS, 0, Serialized)
            {
                DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                Return (WAIY) /* \_SB_.PC00.RP06.PXSX.WAIY */
            }

            Name (SADX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    0x80000000
                }, 

                Package (0x02)
                {
                    0x12, 
                    0x80000000
                }
            })
            Method (SADS, 0, Serialized)
            {
                DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                Return (SADX) /* \_SB_.PC00.RP06.PXSX.SADX */
            }

            Name (GPCX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }, 

                Package (0x02)
                {
                    0x12, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }
            })
            Method (GPC, 0, Serialized)
            {
                Return (GPCX) /* \_SB_.PC00.RP06.PXSX.GPCX */
            }

            Name (GLAX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }, 

                Package (0x02)
                {
                    0x12, 
                    Zero
                }
            })
            Method (GLAI, 0, Serialized)
            {
                ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                Return (GLAX) /* \_SB_.PC00.RP06.PXSX.GLAX */
            }
        }

        If (((WWEN != Zero) && (WWRP == SLOT)))
        {
            Method (FHRF, 1, NotSerialized)
            {
                If ((GGOV (PRST) != WPRP))
                {
                    DL23 ()
                    ADBG ("WWAN DL23() Done")
                    SGOV (PRST, WPRP)
                    ADBG ("WWAN PERST:0 Done")
                }
                Else
                {
                    ADBG ("Assume WWAN DL23() is already done")
                }

                Sleep (TR2B)
                SGOV (WBRS, PBRS)
                ADBG ("WWAN RST:0 Done")
                If ((Arg0 == Zero))
                {
                    Sleep (TBTG)
                    ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                }
                ElseIf ((Arg0 == One))
                {
                    SPCO (WCLK, Zero)
                    ADBG ("WWAN SCLK:0 Done")
                    Sleep (TB2F)
                    ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                    SGOV (WFCP, (~PFCP & One))
                    ADBG ("WWAN PWR:0 Done")
                    Sleep (TFDI)
                    ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                }
                Else
                {
                    ADBG ("Unsupported Arg0 is detected.")
                }
            }

            Method (SHRF, 0, NotSerialized)
            {
                PSD0 (SLOT)
                ADBG ("WWAN MPHYPG:0 Done")
                SPCO (WCLK, One)
                ADBG ("WWAN SCLK:1 Done")
                SGOV (WFCP, PFCP)
                ADBG ("WWAN PWR:1 Done")
                Sleep (TN2B)
                ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                SGOV (WBRS, (~PBRS & One))
                ADBG ("WWAN RST:1 Done")
                Sleep (TB2R)
                ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                SGOV (PRST, (~WPRP & One))
                ADBG ("WWAN PERST:0 Done")
                L23D ()
                ADBG ("WWAN L23D() Done")
            }

            Method (DOSV, 0, NotSerialized)
            {
                Local0 = Zero
                While (((SVID != WSID) && (Local0 < WSTO)))
                {
                    Local0++
                    Sleep (One)
                }

                ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
            }

            Method (_RST, 0, Serialized)  // _RST: Device Reset
            {
                ADBG ("_RST WWAN")
                If ((WWEN == 0x02))
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN FLDR")
                        FHRF (Zero)
                        SHRF ()
                        ADBG ("End WWAN FLDR")
                        Release (WWMT)
                        ADBG ("WWAN FLDR Mutex:Release Done")
                        DOSV ()
                    }
                }
                Else
                {
                    SGOV (WBRS, PBRS)
                    Sleep (0xC8)
                    Notify (PXSX, One) // Device Check
                    SGOV (PRST, (~WPRP & One))
                    SGOV (WBRS, (~PBRS & One))
                    Sleep (0xC8)
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x14))
                        {
                            ADBG ("FLDR TO")
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    Sleep (0x0A)
                    ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                    Notify (PXSX, One) // Device Check
                }
            }

            PowerResource (MRST, 0x05, 0x0000)
            {
                Method (_STA, 0, Serialized)  // _STA: Status
                {
                    ADBG ("WWAN PR _STA")
                    Return (One)
                }

                Method (_ON, 0, Serialized)  // _ON_: Power On
                {
                    ADBG ("WWAN PR _ON")
                }

                Method (_OFF, 0, Serialized)  // _OFF: Power Off
                {
                    ADBG ("WWAN PR _OFF")
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN PLDR")
                        FHRF (One)
                        SHRF ()
                        ADBG ("End WWAN PR _RST")
                        Release (WWMT)
                        ADBG ("WWAN PLDR Mutex: Release Done")
                        DOSV ()
                    }
                }
            }
        }

        If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
        {
            Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
            {
                If (WIST ())
                {
                    If (CondRefOf (WRST))
                    {
                        Return (Package (0x01)
                        {
                            WRST
                        })
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If (CondRefOf (MRST))
                    {
                        Return (Package (0x01)
                        {
                            MRST
                        })
                    }
                }

                Return (Package (0x01)
                {
                    WRST
                })
            }

            Name (FDEL, Zero)
            Name (PDEL, Zero)
            Name (VDEL, Zero)
            Method (IFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (One)
                        {
                             0x1F                                             // .
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    ADBG (Concatenate ("vPro: ", CVPR))
                    Local0 = (CVPR << Zero)
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    CreateWordField (Arg3, Zero, CMDT)
                    CreateWordField (Arg3, 0x02, CMDP)
                    ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                    ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                    If ((CMDT == One))
                    {
                        If (WIST ())
                        {
                            Return (RSTY) /* \_SB_.PC00.RP06.PXSX.RSTY */
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                            Return (^^^CNVW.RSTT) /* \_SB_.PC00.CNVW.RSTT */
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    If ((CMDT == 0x02))
                    {
                        If (WIST ())
                        {
                            Local0 = (CMDP & One)
                            RSTY = Local0
                            Local1 = (CMDP & 0x02)
                            Local1 >>= One
                            FLRC = Local1
                            Local2 = (CMDP & 0x04)
                            Local2 >>= 0x02
                            BOFC = Local2
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                            ^^^CNVW.RSTT = CMDP /* \_SB_.PC00.RP06.PXSX.IFUN.CMDP */
                        }

                        Return (Zero)
                    }

                    If ((CMDT == 0x03))
                    {
                        If (CondRefOf (\_SB.PC00.CNVW.PRRS))
                        {
                            ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                            Return (^^^CNVW.PRRS) /* \_SB_.PC00.CNVW.PRRS */
                        }
                        ElseIf (WIST ())
                        {
                            ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                            Return (DPRS) /* \_SB_.PC00.RP06.PXSX.DPRS */
                        }
                    }

                    Return (Zero)
                }

                If ((Arg2 == 0x03))
                {
                    If ((CRFI == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x04))
                {
                    CreateWordField (Arg3, Zero, PRTT)
                    CreateWordField (Arg3, 0x02, PRTD)
                    ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                    ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                    If ((PRTT == One))
                    {
                        FDEL = PRTD /* \_SB_.PC00.RP06.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x02))
                    {
                        PDEL = PRTD /* \_SB_.PC00.RP06.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x03))
                    {
                        VDEL = PRTD /* \_SB_.PC00.RP06.PXSX.IFUN.PRTD */
                    }
                    Else
                    {
                        ADBG ("TimerDuration not set")
                    }
                }

                Return (Zero)
            }

            Method (IDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (EFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (0x02)
                        {
                             0xFF, 0x1F                                       // ..
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    Local0 = ACSD /* \ACSD */
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    Local0 = I5BS /* \I5BS */
                    Return (Local0)
                }

                If ((Arg2 == 0x03))
                {
                    Local0 = UHBS /* \UHBS */
                    Return (Local0)
                }

                If ((Arg2 == 0x06))
                {
                    Local0 = AXMU /* \AXMU */
                    Local0 <<= One
                    Local0 |= AXSU /* \AXSU */
                    Local1 = AXMR /* \AXMR */
                    Local1 <<= One
                    Local1 |= AXSR /* \AXSR */
                    Local1 <<= 0x02
                    Local0 |= Local1
                    Return (Local0)
                }

                If ((Arg2 == 0x04))
                {
                    Return (Buffer (0x02)
                    {
                         0x03, 0x00                                       // ..
                    })
                }

                If ((Arg2 == 0x05))
                {
                    Return (WFUC) /* \WFUC */
                }

                If ((Arg2 == 0x07))
                {
                    Return (UNI4) /* \UNI4 */
                }

                If ((Arg2 == 0x08))
                {
                    Return (WFIC) /* \WFIC */
                }

                If ((Arg2 == 0x09))
                {
                    Return (WFBS) /* \WFBS */
                }

                If ((Arg2 == 0x0A))
                {
                    Return (WEDT) /* \WEDT */
                }

                If ((Arg2 == 0x0B))
                {
                    If ((CIRM == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x0C))
                {
                    Return (WF7C) /* \WF7C */
                }

                Return (Zero)
            }

            Method (EDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (WIST ())
                {
                    If (EDSM (Arg0))
                    {
                        Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (IDSM (Arg0))
                    {
                        Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x09                                             // .
                            })
                        }

                        If ((Arg2 == One)){}
                        If ((Arg2 == 0x02)){}
                        If ((Arg2 == 0x03))
                        {
                            If ((WRTO == One))
                            {
                                ADBG ("WWAN Power _DSM D0/L1.2")
                            }
                            ElseIf ((WRTO == 0x02))
                            {
                                ADBG ("WWAN Power _DSM D3/L1.2")
                            }
                            ElseIf ((WRTO == 0x03))
                            {
                                ADBG ("WWAN Power _DSM D3/L2")
                            }
                            Else
                            {
                                ADBG ("WWAN Power _DSM Disabled")
                            }

                            Return (WRTO) /* \WRTO */
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (_SB.PC00.RP07.PXSX)
    {
        OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x30)
        Field (RPXX, AnyAcc, NoLock, Preserve)
        {
            VDID,   32, 
            Offset (0x2C), 
            SVID,   16
        }

        OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WDCO), 0x06)
        Field (FLDR, ByteAcc, NoLock, Preserve)
        {
            DCAP,   32, 
            DCTR,   16
        }

        OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WVHO), 0x10)
        Field (VSEC, AnyAcc, NoLock, Preserve)
        {
            Offset (0x0C), 
                ,   1, 
            BTIE,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
            Offset (0x0D), 
            PDRC,   1
        }

        OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x02B8)
        Field (PBRR, AnyAcc, NoLock, Preserve)
        {
            Offset (0x18C), 
            MSNL,   32, 
            Offset (0x198), 
            L1C1,   32, 
            L1C2,   32, 
            Offset (0x2B4), 
            PTMR,   32
        }

        Method (WIST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x25268086)
                    {
                        Return (One)
                    }
                    Case (0x271B8086)
                    {
                        Return (One)
                    }
                    Case (0x27238086)
                    {
                        Return (One)
                    }
                    Case (0x27258086)
                    {
                        Return (One)
                    }
                    Case (0x272B8086)
                    {
                        Return (One)
                    }
                    Default
                    {
                        If ((SVDC == One))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        Method (WWST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x73608086)
                    {
                        Return (One)
                    }
                    Case (0x75608086)
                    {
                        Return (One)
                    }
                    Case (0x4D7514C3)
                    {
                        Return (One)
                    }
                    Case (0x080014C3)
                    {
                        Return (One)
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        If (WIST ())
        {
            Name (RSTY, Zero)
            Name (FLRC, Zero)
            Name (BOFC, Zero)
            Name (DPRS, Zero)
            PowerResource (WRST, 0x05, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    ADBG ("Wifi PR _STA")
                    Return (One)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    ADBG ("Wifi PR _ON")
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    ADBG ("Wifi PR _OFF")
                }

                Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                {
                    If ((RSTY == One))
                    {
                        ADBG ("Wifi Product RST")
                        Local0 = Acquire (CNMT, 0x03E8)
                        If ((Local0 == Zero))
                        {
                            If ((FLRC == One))
                            {
                                Local0 = DCTR /* \_SB_.PC00.RP07.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                                Sleep (FDEL)
                            }

                            DPRS = One
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (Zero)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = Zero
                                }

                                Sleep (RDLY)
                            }

                            PDRC = One
                            Sleep (VDEL)
                            SGOV (WLRT, Zero)
                            Sleep (PDEL)
                            SGOV (WLRT, One)
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (One)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = One
                                }

                                Sleep (RDLY)
                            }

                            DPRS = 0x02
                            Release (CNMT)
                        }
                    }
                    Else
                    {
                        ADBG ("Wifi Core RST")
                        If ((DCAP & 0x10000000))
                        {
                            Local0 = DCTR /* \_SB_.PC00.RP07.PXSX.DCTR */
                            Local0 |= 0x8000
                            DCTR = Local0
                        }

                        DPRS = One
                    }

                    Sleep (0x07D0)
                    MSNL = DR01 /* \DR01 */
                    L1C1 = DR02 /* \DR02 */
                    L1C2 = DR03 /* \DR03 */
                    PTMR = DR04 /* \DR04 */
                    Sleep (0x07D0)
                }
            }

            Name (SPLX, Package (0x02)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (SPLC, 0, Serialized)
            {
                DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                Return (SPLX) /* \_SB_.PC00.RP07.PXSX.SPLX */
            }

            Name (WANX, Package (0x03)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }, 

                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (WAND, 0, Serialized)
            {
                DerefOf (WANX [One]) [Zero] = Zero
                DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                DerefOf (WANX [0x02]) [Zero] = One
                DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                Return (WANX) /* \_SB_.PC00.RP07.PXSX.WANX */
            }

            Name (WRDX, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x80000000, 
                    0x8000
                }
            })
            Method (WRDD, 0, Serialized)
            {
                DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                Return (WRDX) /* \_SB_.PC00.RP07.PXSX.WRDX */
            }

            Name (WRDY, Package (0x02)
            {
                0x02, 
                Package (0x2E)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WRDS, 0, Serialized)
            {
                DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                Return (WRDY) /* \_SB_.PC00.RP07.PXSX.WRDY */
            }

            Name (EWRY, Package (0x02)
            {
                0x02, 
                Package (0x87)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (EWRD, 0, Serialized)
            {
                DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                Return (EWRY) /* \_SB_.PC00.RP07.PXSX.EWRY */
            }

            Name (WGDY, Package (0x02)
            {
                0x03, 
                Package (0x4A)
                {
                    0x07, 
                    0x03, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WGDS, 0, Serialized)
            {
                DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                Return (WGDY) /* \_SB_.PC00.RP07.PXSX.WGDY */
            }

            Name (ECKY, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }
            })
            Method (ECKV, 0, Serialized)
            {
                DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                Return (ECKY) /* \_SB_.PC00.RP07.PXSX.ECKY */
            }

            Name (PPAY, Package (0x02)
            {
                0x02, 
                Package (0x18)
                {
                    0x07, 
                    Zero, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28
                }
            })
            Method (PPAG, 0, Serialized)
            {
                DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                Return (PPAY) /* \_SB_.PC00.RP07.PXSX.PPAY */
            }

            Name (WPFY, Package (0x02)
            {
                Zero, 
                Package (0x05)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WPFC, 0, Serialized)
            {
                DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                DerefOf (WPFY [One]) [0x03] = \WPFC
                DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                Return (WPFY) /* \_SB_.PC00.RP07.PXSX.WPFY */
            }

            Name (WTSY, Package (0x02)
            {
                One, 
                Package (0x13)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WTAS, 0, Serialized)
            {
                DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                Return (WTSY) /* \_SB_.PC00.RP07.PXSX.WTSY */
            }

            Name (WAIY, Package (0x02)
            {
                Zero, 
                Package (0x04)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WAIS, 0, Serialized)
            {
                DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                Return (WAIY) /* \_SB_.PC00.RP07.PXSX.WAIY */
            }

            Name (SADX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    0x80000000
                }, 

                Package (0x02)
                {
                    0x12, 
                    0x80000000
                }
            })
            Method (SADS, 0, Serialized)
            {
                DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                Return (SADX) /* \_SB_.PC00.RP07.PXSX.SADX */
            }

            Name (GPCX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }, 

                Package (0x02)
                {
                    0x12, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }
            })
            Method (GPC, 0, Serialized)
            {
                Return (GPCX) /* \_SB_.PC00.RP07.PXSX.GPCX */
            }

            Name (GLAX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }, 

                Package (0x02)
                {
                    0x12, 
                    Zero
                }
            })
            Method (GLAI, 0, Serialized)
            {
                ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                Return (GLAX) /* \_SB_.PC00.RP07.PXSX.GLAX */
            }
        }

        If (((WWEN != Zero) && (WWRP == SLOT)))
        {
            Method (FHRF, 1, NotSerialized)
            {
                If ((GGOV (PRST) != WPRP))
                {
                    DL23 ()
                    ADBG ("WWAN DL23() Done")
                    SGOV (PRST, WPRP)
                    ADBG ("WWAN PERST:0 Done")
                }
                Else
                {
                    ADBG ("Assume WWAN DL23() is already done")
                }

                Sleep (TR2B)
                SGOV (WBRS, PBRS)
                ADBG ("WWAN RST:0 Done")
                If ((Arg0 == Zero))
                {
                    Sleep (TBTG)
                    ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                }
                ElseIf ((Arg0 == One))
                {
                    SPCO (WCLK, Zero)
                    ADBG ("WWAN SCLK:0 Done")
                    Sleep (TB2F)
                    ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                    SGOV (WFCP, (~PFCP & One))
                    ADBG ("WWAN PWR:0 Done")
                    Sleep (TFDI)
                    ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                }
                Else
                {
                    ADBG ("Unsupported Arg0 is detected.")
                }
            }

            Method (SHRF, 0, NotSerialized)
            {
                PSD0 (SLOT)
                ADBG ("WWAN MPHYPG:0 Done")
                SPCO (WCLK, One)
                ADBG ("WWAN SCLK:1 Done")
                SGOV (WFCP, PFCP)
                ADBG ("WWAN PWR:1 Done")
                Sleep (TN2B)
                ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                SGOV (WBRS, (~PBRS & One))
                ADBG ("WWAN RST:1 Done")
                Sleep (TB2R)
                ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                SGOV (PRST, (~WPRP & One))
                ADBG ("WWAN PERST:0 Done")
                L23D ()
                ADBG ("WWAN L23D() Done")
            }

            Method (DOSV, 0, NotSerialized)
            {
                Local0 = Zero
                While (((SVID != WSID) && (Local0 < WSTO)))
                {
                    Local0++
                    Sleep (One)
                }

                ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
            }

            Method (_RST, 0, Serialized)  // _RST: Device Reset
            {
                ADBG ("_RST WWAN")
                If ((WWEN == 0x02))
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN FLDR")
                        FHRF (Zero)
                        SHRF ()
                        ADBG ("End WWAN FLDR")
                        Release (WWMT)
                        ADBG ("WWAN FLDR Mutex:Release Done")
                        DOSV ()
                    }
                }
                Else
                {
                    SGOV (WBRS, PBRS)
                    Sleep (0xC8)
                    Notify (PXSX, One) // Device Check
                    SGOV (PRST, (~WPRP & One))
                    SGOV (WBRS, (~PBRS & One))
                    Sleep (0xC8)
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x14))
                        {
                            ADBG ("FLDR TO")
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    Sleep (0x0A)
                    ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                    Notify (PXSX, One) // Device Check
                }
            }

            PowerResource (MRST, 0x05, 0x0000)
            {
                Method (_STA, 0, Serialized)  // _STA: Status
                {
                    ADBG ("WWAN PR _STA")
                    Return (One)
                }

                Method (_ON, 0, Serialized)  // _ON_: Power On
                {
                    ADBG ("WWAN PR _ON")
                }

                Method (_OFF, 0, Serialized)  // _OFF: Power Off
                {
                    ADBG ("WWAN PR _OFF")
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN PLDR")
                        FHRF (One)
                        SHRF ()
                        ADBG ("End WWAN PR _RST")
                        Release (WWMT)
                        ADBG ("WWAN PLDR Mutex: Release Done")
                        DOSV ()
                    }
                }
            }
        }

        If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
        {
            Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
            {
                If (WIST ())
                {
                    If (CondRefOf (WRST))
                    {
                        Return (Package (0x01)
                        {
                            WRST
                        })
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If (CondRefOf (MRST))
                    {
                        Return (Package (0x01)
                        {
                            MRST
                        })
                    }
                }

                Return (Package (0x01)
                {
                    WRST
                })
            }

            Name (FDEL, Zero)
            Name (PDEL, Zero)
            Name (VDEL, Zero)
            Method (IFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (One)
                        {
                             0x1F                                             // .
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    ADBG (Concatenate ("vPro: ", CVPR))
                    Local0 = (CVPR << Zero)
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    CreateWordField (Arg3, Zero, CMDT)
                    CreateWordField (Arg3, 0x02, CMDP)
                    ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                    ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                    If ((CMDT == One))
                    {
                        If (WIST ())
                        {
                            Return (RSTY) /* \_SB_.PC00.RP07.PXSX.RSTY */
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                            Return (^^^CNVW.RSTT) /* \_SB_.PC00.CNVW.RSTT */
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    If ((CMDT == 0x02))
                    {
                        If (WIST ())
                        {
                            Local0 = (CMDP & One)
                            RSTY = Local0
                            Local1 = (CMDP & 0x02)
                            Local1 >>= One
                            FLRC = Local1
                            Local2 = (CMDP & 0x04)
                            Local2 >>= 0x02
                            BOFC = Local2
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                            ^^^CNVW.RSTT = CMDP /* \_SB_.PC00.RP07.PXSX.IFUN.CMDP */
                        }

                        Return (Zero)
                    }

                    If ((CMDT == 0x03))
                    {
                        If (CondRefOf (\_SB.PC00.CNVW.PRRS))
                        {
                            ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                            Return (^^^CNVW.PRRS) /* \_SB_.PC00.CNVW.PRRS */
                        }
                        ElseIf (WIST ())
                        {
                            ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                            Return (DPRS) /* \_SB_.PC00.RP07.PXSX.DPRS */
                        }
                    }

                    Return (Zero)
                }

                If ((Arg2 == 0x03))
                {
                    If ((CRFI == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x04))
                {
                    CreateWordField (Arg3, Zero, PRTT)
                    CreateWordField (Arg3, 0x02, PRTD)
                    ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                    ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                    If ((PRTT == One))
                    {
                        FDEL = PRTD /* \_SB_.PC00.RP07.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x02))
                    {
                        PDEL = PRTD /* \_SB_.PC00.RP07.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x03))
                    {
                        VDEL = PRTD /* \_SB_.PC00.RP07.PXSX.IFUN.PRTD */
                    }
                    Else
                    {
                        ADBG ("TimerDuration not set")
                    }
                }

                Return (Zero)
            }

            Method (IDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (EFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (0x02)
                        {
                             0xFF, 0x1F                                       // ..
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    Local0 = ACSD /* \ACSD */
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    Local0 = I5BS /* \I5BS */
                    Return (Local0)
                }

                If ((Arg2 == 0x03))
                {
                    Local0 = UHBS /* \UHBS */
                    Return (Local0)
                }

                If ((Arg2 == 0x06))
                {
                    Local0 = AXMU /* \AXMU */
                    Local0 <<= One
                    Local0 |= AXSU /* \AXSU */
                    Local1 = AXMR /* \AXMR */
                    Local1 <<= One
                    Local1 |= AXSR /* \AXSR */
                    Local1 <<= 0x02
                    Local0 |= Local1
                    Return (Local0)
                }

                If ((Arg2 == 0x04))
                {
                    Return (Buffer (0x02)
                    {
                         0x03, 0x00                                       // ..
                    })
                }

                If ((Arg2 == 0x05))
                {
                    Return (WFUC) /* \WFUC */
                }

                If ((Arg2 == 0x07))
                {
                    Return (UNI4) /* \UNI4 */
                }

                If ((Arg2 == 0x08))
                {
                    Return (WFIC) /* \WFIC */
                }

                If ((Arg2 == 0x09))
                {
                    Return (WFBS) /* \WFBS */
                }

                If ((Arg2 == 0x0A))
                {
                    Return (WEDT) /* \WEDT */
                }

                If ((Arg2 == 0x0B))
                {
                    If ((CIRM == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x0C))
                {
                    Return (WF7C) /* \WF7C */
                }

                Return (Zero)
            }

            Method (EDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (WIST ())
                {
                    If (EDSM (Arg0))
                    {
                        Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (IDSM (Arg0))
                    {
                        Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x09                                             // .
                            })
                        }

                        If ((Arg2 == One)){}
                        If ((Arg2 == 0x02)){}
                        If ((Arg2 == 0x03))
                        {
                            If ((WRTO == One))
                            {
                                ADBG ("WWAN Power _DSM D0/L1.2")
                            }
                            ElseIf ((WRTO == 0x02))
                            {
                                ADBG ("WWAN Power _DSM D3/L1.2")
                            }
                            ElseIf ((WRTO == 0x03))
                            {
                                ADBG ("WWAN Power _DSM D3/L2")
                            }
                            Else
                            {
                                ADBG ("WWAN Power _DSM Disabled")
                            }

                            Return (WRTO) /* \WRTO */
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (_SB.PC00.RP08.PXSX)
    {
        OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x30)
        Field (RPXX, AnyAcc, NoLock, Preserve)
        {
            VDID,   32, 
            Offset (0x2C), 
            SVID,   16
        }

        OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WDCO), 0x06)
        Field (FLDR, ByteAcc, NoLock, Preserve)
        {
            DCAP,   32, 
            DCTR,   16
        }

        OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WVHO), 0x10)
        Field (VSEC, AnyAcc, NoLock, Preserve)
        {
            Offset (0x0C), 
                ,   1, 
            BTIE,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
            Offset (0x0D), 
            PDRC,   1
        }

        OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x02B8)
        Field (PBRR, AnyAcc, NoLock, Preserve)
        {
            Offset (0x18C), 
            MSNL,   32, 
            Offset (0x198), 
            L1C1,   32, 
            L1C2,   32, 
            Offset (0x2B4), 
            PTMR,   32
        }

        Method (WIST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x25268086)
                    {
                        Return (One)
                    }
                    Case (0x271B8086)
                    {
                        Return (One)
                    }
                    Case (0x27238086)
                    {
                        Return (One)
                    }
                    Case (0x27258086)
                    {
                        Return (One)
                    }
                    Case (0x272B8086)
                    {
                        Return (One)
                    }
                    Default
                    {
                        If ((SVDC == One))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        Method (WWST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x73608086)
                    {
                        Return (One)
                    }
                    Case (0x75608086)
                    {
                        Return (One)
                    }
                    Case (0x4D7514C3)
                    {
                        Return (One)
                    }
                    Case (0x080014C3)
                    {
                        Return (One)
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        If (WIST ())
        {
            Name (RSTY, Zero)
            Name (FLRC, Zero)
            Name (BOFC, Zero)
            Name (DPRS, Zero)
            PowerResource (WRST, 0x05, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    ADBG ("Wifi PR _STA")
                    Return (One)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    ADBG ("Wifi PR _ON")
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    ADBG ("Wifi PR _OFF")
                }

                Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                {
                    If ((RSTY == One))
                    {
                        ADBG ("Wifi Product RST")
                        Local0 = Acquire (CNMT, 0x03E8)
                        If ((Local0 == Zero))
                        {
                            If ((FLRC == One))
                            {
                                Local0 = DCTR /* \_SB_.PC00.RP08.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                                Sleep (FDEL)
                            }

                            DPRS = One
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (Zero)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = Zero
                                }

                                Sleep (RDLY)
                            }

                            PDRC = One
                            Sleep (VDEL)
                            SGOV (WLRT, Zero)
                            Sleep (PDEL)
                            SGOV (WLRT, One)
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (One)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = One
                                }

                                Sleep (RDLY)
                            }

                            DPRS = 0x02
                            Release (CNMT)
                        }
                    }
                    Else
                    {
                        ADBG ("Wifi Core RST")
                        If ((DCAP & 0x10000000))
                        {
                            Local0 = DCTR /* \_SB_.PC00.RP08.PXSX.DCTR */
                            Local0 |= 0x8000
                            DCTR = Local0
                        }

                        DPRS = One
                    }

                    Sleep (0x07D0)
                    MSNL = DR01 /* \DR01 */
                    L1C1 = DR02 /* \DR02 */
                    L1C2 = DR03 /* \DR03 */
                    PTMR = DR04 /* \DR04 */
                    Sleep (0x07D0)
                }
            }

            Name (SPLX, Package (0x02)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (SPLC, 0, Serialized)
            {
                DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                Return (SPLX) /* \_SB_.PC00.RP08.PXSX.SPLX */
            }

            Name (WANX, Package (0x03)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }, 

                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (WAND, 0, Serialized)
            {
                DerefOf (WANX [One]) [Zero] = Zero
                DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                DerefOf (WANX [0x02]) [Zero] = One
                DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                Return (WANX) /* \_SB_.PC00.RP08.PXSX.WANX */
            }

            Name (WRDX, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x80000000, 
                    0x8000
                }
            })
            Method (WRDD, 0, Serialized)
            {
                DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                Return (WRDX) /* \_SB_.PC00.RP08.PXSX.WRDX */
            }

            Name (WRDY, Package (0x02)
            {
                0x02, 
                Package (0x2E)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WRDS, 0, Serialized)
            {
                DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                Return (WRDY) /* \_SB_.PC00.RP08.PXSX.WRDY */
            }

            Name (EWRY, Package (0x02)
            {
                0x02, 
                Package (0x87)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (EWRD, 0, Serialized)
            {
                DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                Return (EWRY) /* \_SB_.PC00.RP08.PXSX.EWRY */
            }

            Name (WGDY, Package (0x02)
            {
                0x03, 
                Package (0x4A)
                {
                    0x07, 
                    0x03, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WGDS, 0, Serialized)
            {
                DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                Return (WGDY) /* \_SB_.PC00.RP08.PXSX.WGDY */
            }

            Name (ECKY, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }
            })
            Method (ECKV, 0, Serialized)
            {
                DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                Return (ECKY) /* \_SB_.PC00.RP08.PXSX.ECKY */
            }

            Name (PPAY, Package (0x02)
            {
                0x02, 
                Package (0x18)
                {
                    0x07, 
                    Zero, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28
                }
            })
            Method (PPAG, 0, Serialized)
            {
                DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                Return (PPAY) /* \_SB_.PC00.RP08.PXSX.PPAY */
            }

            Name (WPFY, Package (0x02)
            {
                Zero, 
                Package (0x05)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WPFC, 0, Serialized)
            {
                DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                DerefOf (WPFY [One]) [0x03] = \WPFC
                DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                Return (WPFY) /* \_SB_.PC00.RP08.PXSX.WPFY */
            }

            Name (WTSY, Package (0x02)
            {
                One, 
                Package (0x13)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WTAS, 0, Serialized)
            {
                DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                Return (WTSY) /* \_SB_.PC00.RP08.PXSX.WTSY */
            }

            Name (WAIY, Package (0x02)
            {
                Zero, 
                Package (0x04)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WAIS, 0, Serialized)
            {
                DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                Return (WAIY) /* \_SB_.PC00.RP08.PXSX.WAIY */
            }

            Name (SADX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    0x80000000
                }, 

                Package (0x02)
                {
                    0x12, 
                    0x80000000
                }
            })
            Method (SADS, 0, Serialized)
            {
                DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                Return (SADX) /* \_SB_.PC00.RP08.PXSX.SADX */
            }

            Name (GPCX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }, 

                Package (0x02)
                {
                    0x12, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }
            })
            Method (GPC, 0, Serialized)
            {
                Return (GPCX) /* \_SB_.PC00.RP08.PXSX.GPCX */
            }

            Name (GLAX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }, 

                Package (0x02)
                {
                    0x12, 
                    Zero
                }
            })
            Method (GLAI, 0, Serialized)
            {
                ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                Return (GLAX) /* \_SB_.PC00.RP08.PXSX.GLAX */
            }
        }

        If (((WWEN != Zero) && (WWRP == SLOT)))
        {
            Method (FHRF, 1, NotSerialized)
            {
                If ((GGOV (PRST) != WPRP))
                {
                    DL23 ()
                    ADBG ("WWAN DL23() Done")
                    SGOV (PRST, WPRP)
                    ADBG ("WWAN PERST:0 Done")
                }
                Else
                {
                    ADBG ("Assume WWAN DL23() is already done")
                }

                Sleep (TR2B)
                SGOV (WBRS, PBRS)
                ADBG ("WWAN RST:0 Done")
                If ((Arg0 == Zero))
                {
                    Sleep (TBTG)
                    ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                }
                ElseIf ((Arg0 == One))
                {
                    SPCO (WCLK, Zero)
                    ADBG ("WWAN SCLK:0 Done")
                    Sleep (TB2F)
                    ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                    SGOV (WFCP, (~PFCP & One))
                    ADBG ("WWAN PWR:0 Done")
                    Sleep (TFDI)
                    ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                }
                Else
                {
                    ADBG ("Unsupported Arg0 is detected.")
                }
            }

            Method (SHRF, 0, NotSerialized)
            {
                PSD0 (SLOT)
                ADBG ("WWAN MPHYPG:0 Done")
                SPCO (WCLK, One)
                ADBG ("WWAN SCLK:1 Done")
                SGOV (WFCP, PFCP)
                ADBG ("WWAN PWR:1 Done")
                Sleep (TN2B)
                ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                SGOV (WBRS, (~PBRS & One))
                ADBG ("WWAN RST:1 Done")
                Sleep (TB2R)
                ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                SGOV (PRST, (~WPRP & One))
                ADBG ("WWAN PERST:0 Done")
                L23D ()
                ADBG ("WWAN L23D() Done")
            }

            Method (DOSV, 0, NotSerialized)
            {
                Local0 = Zero
                While (((SVID != WSID) && (Local0 < WSTO)))
                {
                    Local0++
                    Sleep (One)
                }

                ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
            }

            Method (_RST, 0, Serialized)  // _RST: Device Reset
            {
                ADBG ("_RST WWAN")
                If ((WWEN == 0x02))
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN FLDR")
                        FHRF (Zero)
                        SHRF ()
                        ADBG ("End WWAN FLDR")
                        Release (WWMT)
                        ADBG ("WWAN FLDR Mutex:Release Done")
                        DOSV ()
                    }
                }
                Else
                {
                    SGOV (WBRS, PBRS)
                    Sleep (0xC8)
                    Notify (PXSX, One) // Device Check
                    SGOV (PRST, (~WPRP & One))
                    SGOV (WBRS, (~PBRS & One))
                    Sleep (0xC8)
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x14))
                        {
                            ADBG ("FLDR TO")
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    Sleep (0x0A)
                    ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                    Notify (PXSX, One) // Device Check
                }
            }

            PowerResource (MRST, 0x05, 0x0000)
            {
                Method (_STA, 0, Serialized)  // _STA: Status
                {
                    ADBG ("WWAN PR _STA")
                    Return (One)
                }

                Method (_ON, 0, Serialized)  // _ON_: Power On
                {
                    ADBG ("WWAN PR _ON")
                }

                Method (_OFF, 0, Serialized)  // _OFF: Power Off
                {
                    ADBG ("WWAN PR _OFF")
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN PLDR")
                        FHRF (One)
                        SHRF ()
                        ADBG ("End WWAN PR _RST")
                        Release (WWMT)
                        ADBG ("WWAN PLDR Mutex: Release Done")
                        DOSV ()
                    }
                }
            }
        }

        If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
        {
            Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
            {
                If (WIST ())
                {
                    If (CondRefOf (WRST))
                    {
                        Return (Package (0x01)
                        {
                            WRST
                        })
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If (CondRefOf (MRST))
                    {
                        Return (Package (0x01)
                        {
                            MRST
                        })
                    }
                }

                Return (Package (0x01)
                {
                    WRST
                })
            }

            Name (FDEL, Zero)
            Name (PDEL, Zero)
            Name (VDEL, Zero)
            Method (IFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (One)
                        {
                             0x1F                                             // .
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    ADBG (Concatenate ("vPro: ", CVPR))
                    Local0 = (CVPR << Zero)
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    CreateWordField (Arg3, Zero, CMDT)
                    CreateWordField (Arg3, 0x02, CMDP)
                    ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                    ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                    If ((CMDT == One))
                    {
                        If (WIST ())
                        {
                            Return (RSTY) /* \_SB_.PC00.RP08.PXSX.RSTY */
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                            Return (^^^CNVW.RSTT) /* \_SB_.PC00.CNVW.RSTT */
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    If ((CMDT == 0x02))
                    {
                        If (WIST ())
                        {
                            Local0 = (CMDP & One)
                            RSTY = Local0
                            Local1 = (CMDP & 0x02)
                            Local1 >>= One
                            FLRC = Local1
                            Local2 = (CMDP & 0x04)
                            Local2 >>= 0x02
                            BOFC = Local2
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                            ^^^CNVW.RSTT = CMDP /* \_SB_.PC00.RP08.PXSX.IFUN.CMDP */
                        }

                        Return (Zero)
                    }

                    If ((CMDT == 0x03))
                    {
                        If (CondRefOf (\_SB.PC00.CNVW.PRRS))
                        {
                            ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                            Return (^^^CNVW.PRRS) /* \_SB_.PC00.CNVW.PRRS */
                        }
                        ElseIf (WIST ())
                        {
                            ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                            Return (DPRS) /* \_SB_.PC00.RP08.PXSX.DPRS */
                        }
                    }

                    Return (Zero)
                }

                If ((Arg2 == 0x03))
                {
                    If ((CRFI == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x04))
                {
                    CreateWordField (Arg3, Zero, PRTT)
                    CreateWordField (Arg3, 0x02, PRTD)
                    ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                    ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                    If ((PRTT == One))
                    {
                        FDEL = PRTD /* \_SB_.PC00.RP08.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x02))
                    {
                        PDEL = PRTD /* \_SB_.PC00.RP08.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x03))
                    {
                        VDEL = PRTD /* \_SB_.PC00.RP08.PXSX.IFUN.PRTD */
                    }
                    Else
                    {
                        ADBG ("TimerDuration not set")
                    }
                }

                Return (Zero)
            }

            Method (IDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (EFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (0x02)
                        {
                             0xFF, 0x1F                                       // ..
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    Local0 = ACSD /* \ACSD */
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    Local0 = I5BS /* \I5BS */
                    Return (Local0)
                }

                If ((Arg2 == 0x03))
                {
                    Local0 = UHBS /* \UHBS */
                    Return (Local0)
                }

                If ((Arg2 == 0x06))
                {
                    Local0 = AXMU /* \AXMU */
                    Local0 <<= One
                    Local0 |= AXSU /* \AXSU */
                    Local1 = AXMR /* \AXMR */
                    Local1 <<= One
                    Local1 |= AXSR /* \AXSR */
                    Local1 <<= 0x02
                    Local0 |= Local1
                    Return (Local0)
                }

                If ((Arg2 == 0x04))
                {
                    Return (Buffer (0x02)
                    {
                         0x03, 0x00                                       // ..
                    })
                }

                If ((Arg2 == 0x05))
                {
                    Return (WFUC) /* \WFUC */
                }

                If ((Arg2 == 0x07))
                {
                    Return (UNI4) /* \UNI4 */
                }

                If ((Arg2 == 0x08))
                {
                    Return (WFIC) /* \WFIC */
                }

                If ((Arg2 == 0x09))
                {
                    Return (WFBS) /* \WFBS */
                }

                If ((Arg2 == 0x0A))
                {
                    Return (WEDT) /* \WEDT */
                }

                If ((Arg2 == 0x0B))
                {
                    If ((CIRM == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x0C))
                {
                    Return (WF7C) /* \WF7C */
                }

                Return (Zero)
            }

            Method (EDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (WIST ())
                {
                    If (EDSM (Arg0))
                    {
                        Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (IDSM (Arg0))
                    {
                        Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x09                                             // .
                            })
                        }

                        If ((Arg2 == One)){}
                        If ((Arg2 == 0x02)){}
                        If ((Arg2 == 0x03))
                        {
                            If ((WRTO == One))
                            {
                                ADBG ("WWAN Power _DSM D0/L1.2")
                            }
                            ElseIf ((WRTO == 0x02))
                            {
                                ADBG ("WWAN Power _DSM D3/L1.2")
                            }
                            ElseIf ((WRTO == 0x03))
                            {
                                ADBG ("WWAN Power _DSM D3/L2")
                            }
                            Else
                            {
                                ADBG ("WWAN Power _DSM Disabled")
                            }

                            Return (WRTO) /* \WRTO */
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (_SB.PC00.RP09.PXSX)
    {
        OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x30)
        Field (RPXX, AnyAcc, NoLock, Preserve)
        {
            VDID,   32, 
            Offset (0x2C), 
            SVID,   16
        }

        OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WDCO), 0x06)
        Field (FLDR, ByteAcc, NoLock, Preserve)
        {
            DCAP,   32, 
            DCTR,   16
        }

        OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WVHO), 0x10)
        Field (VSEC, AnyAcc, NoLock, Preserve)
        {
            Offset (0x0C), 
                ,   1, 
            BTIE,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
            Offset (0x0D), 
            PDRC,   1
        }

        OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x02B8)
        Field (PBRR, AnyAcc, NoLock, Preserve)
        {
            Offset (0x18C), 
            MSNL,   32, 
            Offset (0x198), 
            L1C1,   32, 
            L1C2,   32, 
            Offset (0x2B4), 
            PTMR,   32
        }

        Method (WIST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x25268086)
                    {
                        Return (One)
                    }
                    Case (0x271B8086)
                    {
                        Return (One)
                    }
                    Case (0x27238086)
                    {
                        Return (One)
                    }
                    Case (0x27258086)
                    {
                        Return (One)
                    }
                    Case (0x272B8086)
                    {
                        Return (One)
                    }
                    Default
                    {
                        If ((SVDC == One))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        Method (WWST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x73608086)
                    {
                        Return (One)
                    }
                    Case (0x75608086)
                    {
                        Return (One)
                    }
                    Case (0x4D7514C3)
                    {
                        Return (One)
                    }
                    Case (0x080014C3)
                    {
                        Return (One)
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        If (WIST ())
        {
            Name (RSTY, Zero)
            Name (FLRC, Zero)
            Name (BOFC, Zero)
            Name (DPRS, Zero)
            PowerResource (WRST, 0x05, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    ADBG ("Wifi PR _STA")
                    Return (One)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    ADBG ("Wifi PR _ON")
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    ADBG ("Wifi PR _OFF")
                }

                Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                {
                    If ((RSTY == One))
                    {
                        ADBG ("Wifi Product RST")
                        Local0 = Acquire (CNMT, 0x03E8)
                        If ((Local0 == Zero))
                        {
                            If ((FLRC == One))
                            {
                                Local0 = DCTR /* \_SB_.PC00.RP09.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                                Sleep (FDEL)
                            }

                            DPRS = One
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (Zero)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = Zero
                                }

                                Sleep (RDLY)
                            }

                            PDRC = One
                            Sleep (VDEL)
                            SGOV (WLRT, Zero)
                            Sleep (PDEL)
                            SGOV (WLRT, One)
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (One)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = One
                                }

                                Sleep (RDLY)
                            }

                            DPRS = 0x02
                            Release (CNMT)
                        }
                    }
                    Else
                    {
                        ADBG ("Wifi Core RST")
                        If ((DCAP & 0x10000000))
                        {
                            Local0 = DCTR /* \_SB_.PC00.RP09.PXSX.DCTR */
                            Local0 |= 0x8000
                            DCTR = Local0
                        }

                        DPRS = One
                    }

                    Sleep (0x07D0)
                    MSNL = DR01 /* \DR01 */
                    L1C1 = DR02 /* \DR02 */
                    L1C2 = DR03 /* \DR03 */
                    PTMR = DR04 /* \DR04 */
                    Sleep (0x07D0)
                }
            }

            Name (SPLX, Package (0x02)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (SPLC, 0, Serialized)
            {
                DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                Return (SPLX) /* \_SB_.PC00.RP09.PXSX.SPLX */
            }

            Name (WANX, Package (0x03)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }, 

                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (WAND, 0, Serialized)
            {
                DerefOf (WANX [One]) [Zero] = Zero
                DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                DerefOf (WANX [0x02]) [Zero] = One
                DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                Return (WANX) /* \_SB_.PC00.RP09.PXSX.WANX */
            }

            Name (WRDX, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x80000000, 
                    0x8000
                }
            })
            Method (WRDD, 0, Serialized)
            {
                DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                Return (WRDX) /* \_SB_.PC00.RP09.PXSX.WRDX */
            }

            Name (WRDY, Package (0x02)
            {
                0x02, 
                Package (0x2E)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WRDS, 0, Serialized)
            {
                DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                Return (WRDY) /* \_SB_.PC00.RP09.PXSX.WRDY */
            }

            Name (EWRY, Package (0x02)
            {
                0x02, 
                Package (0x87)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (EWRD, 0, Serialized)
            {
                DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                Return (EWRY) /* \_SB_.PC00.RP09.PXSX.EWRY */
            }

            Name (WGDY, Package (0x02)
            {
                0x03, 
                Package (0x4A)
                {
                    0x07, 
                    0x03, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WGDS, 0, Serialized)
            {
                DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                Return (WGDY) /* \_SB_.PC00.RP09.PXSX.WGDY */
            }

            Name (ECKY, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }
            })
            Method (ECKV, 0, Serialized)
            {
                DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                Return (ECKY) /* \_SB_.PC00.RP09.PXSX.ECKY */
            }

            Name (PPAY, Package (0x02)
            {
                0x02, 
                Package (0x18)
                {
                    0x07, 
                    Zero, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28
                }
            })
            Method (PPAG, 0, Serialized)
            {
                DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                Return (PPAY) /* \_SB_.PC00.RP09.PXSX.PPAY */
            }

            Name (WPFY, Package (0x02)
            {
                Zero, 
                Package (0x05)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WPFC, 0, Serialized)
            {
                DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                DerefOf (WPFY [One]) [0x03] = \WPFC
                DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                Return (WPFY) /* \_SB_.PC00.RP09.PXSX.WPFY */
            }

            Name (WTSY, Package (0x02)
            {
                One, 
                Package (0x13)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WTAS, 0, Serialized)
            {
                DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                Return (WTSY) /* \_SB_.PC00.RP09.PXSX.WTSY */
            }

            Name (WAIY, Package (0x02)
            {
                Zero, 
                Package (0x04)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WAIS, 0, Serialized)
            {
                DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                Return (WAIY) /* \_SB_.PC00.RP09.PXSX.WAIY */
            }

            Name (SADX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    0x80000000
                }, 

                Package (0x02)
                {
                    0x12, 
                    0x80000000
                }
            })
            Method (SADS, 0, Serialized)
            {
                DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                Return (SADX) /* \_SB_.PC00.RP09.PXSX.SADX */
            }

            Name (GPCX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }, 

                Package (0x02)
                {
                    0x12, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }
            })
            Method (GPC, 0, Serialized)
            {
                Return (GPCX) /* \_SB_.PC00.RP09.PXSX.GPCX */
            }

            Name (GLAX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }, 

                Package (0x02)
                {
                    0x12, 
                    Zero
                }
            })
            Method (GLAI, 0, Serialized)
            {
                ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                Return (GLAX) /* \_SB_.PC00.RP09.PXSX.GLAX */
            }
        }

        If (((WWEN != Zero) && (WWRP == SLOT)))
        {
            Method (FHRF, 1, NotSerialized)
            {
                If ((GGOV (PRST) != WPRP))
                {
                    DL23 ()
                    ADBG ("WWAN DL23() Done")
                    SGOV (PRST, WPRP)
                    ADBG ("WWAN PERST:0 Done")
                }
                Else
                {
                    ADBG ("Assume WWAN DL23() is already done")
                }

                Sleep (TR2B)
                SGOV (WBRS, PBRS)
                ADBG ("WWAN RST:0 Done")
                If ((Arg0 == Zero))
                {
                    Sleep (TBTG)
                    ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                }
                ElseIf ((Arg0 == One))
                {
                    SPCO (WCLK, Zero)
                    ADBG ("WWAN SCLK:0 Done")
                    Sleep (TB2F)
                    ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                    SGOV (WFCP, (~PFCP & One))
                    ADBG ("WWAN PWR:0 Done")
                    Sleep (TFDI)
                    ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                }
                Else
                {
                    ADBG ("Unsupported Arg0 is detected.")
                }
            }

            Method (SHRF, 0, NotSerialized)
            {
                PSD0 (SLOT)
                ADBG ("WWAN MPHYPG:0 Done")
                SPCO (WCLK, One)
                ADBG ("WWAN SCLK:1 Done")
                SGOV (WFCP, PFCP)
                ADBG ("WWAN PWR:1 Done")
                Sleep (TN2B)
                ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                SGOV (WBRS, (~PBRS & One))
                ADBG ("WWAN RST:1 Done")
                Sleep (TB2R)
                ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                SGOV (PRST, (~WPRP & One))
                ADBG ("WWAN PERST:0 Done")
                L23D ()
                ADBG ("WWAN L23D() Done")
            }

            Method (DOSV, 0, NotSerialized)
            {
                Local0 = Zero
                While (((SVID != WSID) && (Local0 < WSTO)))
                {
                    Local0++
                    Sleep (One)
                }

                ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
            }

            Method (_RST, 0, Serialized)  // _RST: Device Reset
            {
                ADBG ("_RST WWAN")
                If ((WWEN == 0x02))
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN FLDR")
                        FHRF (Zero)
                        SHRF ()
                        ADBG ("End WWAN FLDR")
                        Release (WWMT)
                        ADBG ("WWAN FLDR Mutex:Release Done")
                        DOSV ()
                    }
                }
                Else
                {
                    SGOV (WBRS, PBRS)
                    Sleep (0xC8)
                    Notify (PXSX, One) // Device Check
                    SGOV (PRST, (~WPRP & One))
                    SGOV (WBRS, (~PBRS & One))
                    Sleep (0xC8)
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x14))
                        {
                            ADBG ("FLDR TO")
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    Sleep (0x0A)
                    ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                    Notify (PXSX, One) // Device Check
                }
            }

            PowerResource (MRST, 0x05, 0x0000)
            {
                Method (_STA, 0, Serialized)  // _STA: Status
                {
                    ADBG ("WWAN PR _STA")
                    Return (One)
                }

                Method (_ON, 0, Serialized)  // _ON_: Power On
                {
                    ADBG ("WWAN PR _ON")
                }

                Method (_OFF, 0, Serialized)  // _OFF: Power Off
                {
                    ADBG ("WWAN PR _OFF")
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN PLDR")
                        FHRF (One)
                        SHRF ()
                        ADBG ("End WWAN PR _RST")
                        Release (WWMT)
                        ADBG ("WWAN PLDR Mutex: Release Done")
                        DOSV ()
                    }
                }
            }
        }

        If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
        {
            Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
            {
                If (WIST ())
                {
                    If (CondRefOf (WRST))
                    {
                        Return (Package (0x01)
                        {
                            WRST
                        })
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If (CondRefOf (MRST))
                    {
                        Return (Package (0x01)
                        {
                            MRST
                        })
                    }
                }

                Return (Package (0x01)
                {
                    WRST
                })
            }

            Name (FDEL, Zero)
            Name (PDEL, Zero)
            Name (VDEL, Zero)
            Method (IFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (One)
                        {
                             0x1F                                             // .
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    ADBG (Concatenate ("vPro: ", CVPR))
                    Local0 = (CVPR << Zero)
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    CreateWordField (Arg3, Zero, CMDT)
                    CreateWordField (Arg3, 0x02, CMDP)
                    ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                    ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                    If ((CMDT == One))
                    {
                        If (WIST ())
                        {
                            Return (RSTY) /* \_SB_.PC00.RP09.PXSX.RSTY */
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                            Return (^^^CNVW.RSTT) /* \_SB_.PC00.CNVW.RSTT */
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    If ((CMDT == 0x02))
                    {
                        If (WIST ())
                        {
                            Local0 = (CMDP & One)
                            RSTY = Local0
                            Local1 = (CMDP & 0x02)
                            Local1 >>= One
                            FLRC = Local1
                            Local2 = (CMDP & 0x04)
                            Local2 >>= 0x02
                            BOFC = Local2
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                            ^^^CNVW.RSTT = CMDP /* \_SB_.PC00.RP09.PXSX.IFUN.CMDP */
                        }

                        Return (Zero)
                    }

                    If ((CMDT == 0x03))
                    {
                        If (CondRefOf (\_SB.PC00.CNVW.PRRS))
                        {
                            ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                            Return (^^^CNVW.PRRS) /* \_SB_.PC00.CNVW.PRRS */
                        }
                        ElseIf (WIST ())
                        {
                            ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                            Return (DPRS) /* \_SB_.PC00.RP09.PXSX.DPRS */
                        }
                    }

                    Return (Zero)
                }

                If ((Arg2 == 0x03))
                {
                    If ((CRFI == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x04))
                {
                    CreateWordField (Arg3, Zero, PRTT)
                    CreateWordField (Arg3, 0x02, PRTD)
                    ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                    ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                    If ((PRTT == One))
                    {
                        FDEL = PRTD /* \_SB_.PC00.RP09.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x02))
                    {
                        PDEL = PRTD /* \_SB_.PC00.RP09.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x03))
                    {
                        VDEL = PRTD /* \_SB_.PC00.RP09.PXSX.IFUN.PRTD */
                    }
                    Else
                    {
                        ADBG ("TimerDuration not set")
                    }
                }

                Return (Zero)
            }

            Method (IDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (EFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (0x02)
                        {
                             0xFF, 0x1F                                       // ..
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    Local0 = ACSD /* \ACSD */
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    Local0 = I5BS /* \I5BS */
                    Return (Local0)
                }

                If ((Arg2 == 0x03))
                {
                    Local0 = UHBS /* \UHBS */
                    Return (Local0)
                }

                If ((Arg2 == 0x06))
                {
                    Local0 = AXMU /* \AXMU */
                    Local0 <<= One
                    Local0 |= AXSU /* \AXSU */
                    Local1 = AXMR /* \AXMR */
                    Local1 <<= One
                    Local1 |= AXSR /* \AXSR */
                    Local1 <<= 0x02
                    Local0 |= Local1
                    Return (Local0)
                }

                If ((Arg2 == 0x04))
                {
                    Return (Buffer (0x02)
                    {
                         0x03, 0x00                                       // ..
                    })
                }

                If ((Arg2 == 0x05))
                {
                    Return (WFUC) /* \WFUC */
                }

                If ((Arg2 == 0x07))
                {
                    Return (UNI4) /* \UNI4 */
                }

                If ((Arg2 == 0x08))
                {
                    Return (WFIC) /* \WFIC */
                }

                If ((Arg2 == 0x09))
                {
                    Return (WFBS) /* \WFBS */
                }

                If ((Arg2 == 0x0A))
                {
                    Return (WEDT) /* \WEDT */
                }

                If ((Arg2 == 0x0B))
                {
                    If ((CIRM == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x0C))
                {
                    Return (WF7C) /* \WF7C */
                }

                Return (Zero)
            }

            Method (EDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (WIST ())
                {
                    If (EDSM (Arg0))
                    {
                        Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (IDSM (Arg0))
                    {
                        Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x09                                             // .
                            })
                        }

                        If ((Arg2 == One)){}
                        If ((Arg2 == 0x02)){}
                        If ((Arg2 == 0x03))
                        {
                            If ((WRTO == One))
                            {
                                ADBG ("WWAN Power _DSM D0/L1.2")
                            }
                            ElseIf ((WRTO == 0x02))
                            {
                                ADBG ("WWAN Power _DSM D3/L1.2")
                            }
                            ElseIf ((WRTO == 0x03))
                            {
                                ADBG ("WWAN Power _DSM D3/L2")
                            }
                            Else
                            {
                                ADBG ("WWAN Power _DSM Disabled")
                            }

                            Return (WRTO) /* \WRTO */
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (_SB.PC00.RP10.PXSX)
    {
        OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x30)
        Field (RPXX, AnyAcc, NoLock, Preserve)
        {
            VDID,   32, 
            Offset (0x2C), 
            SVID,   16
        }

        OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WDCO), 0x06)
        Field (FLDR, ByteAcc, NoLock, Preserve)
        {
            DCAP,   32, 
            DCTR,   16
        }

        OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WVHO), 0x10)
        Field (VSEC, AnyAcc, NoLock, Preserve)
        {
            Offset (0x0C), 
                ,   1, 
            BTIE,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
            Offset (0x0D), 
            PDRC,   1
        }

        OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x02B8)
        Field (PBRR, AnyAcc, NoLock, Preserve)
        {
            Offset (0x18C), 
            MSNL,   32, 
            Offset (0x198), 
            L1C1,   32, 
            L1C2,   32, 
            Offset (0x2B4), 
            PTMR,   32
        }

        Method (WIST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x25268086)
                    {
                        Return (One)
                    }
                    Case (0x271B8086)
                    {
                        Return (One)
                    }
                    Case (0x27238086)
                    {
                        Return (One)
                    }
                    Case (0x27258086)
                    {
                        Return (One)
                    }
                    Case (0x272B8086)
                    {
                        Return (One)
                    }
                    Default
                    {
                        If ((SVDC == One))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        Method (WWST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x73608086)
                    {
                        Return (One)
                    }
                    Case (0x75608086)
                    {
                        Return (One)
                    }
                    Case (0x4D7514C3)
                    {
                        Return (One)
                    }
                    Case (0x080014C3)
                    {
                        Return (One)
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        If (WIST ())
        {
            Name (RSTY, Zero)
            Name (FLRC, Zero)
            Name (BOFC, Zero)
            Name (DPRS, Zero)
            PowerResource (WRST, 0x05, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    ADBG ("Wifi PR _STA")
                    Return (One)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    ADBG ("Wifi PR _ON")
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    ADBG ("Wifi PR _OFF")
                }

                Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                {
                    If ((RSTY == One))
                    {
                        ADBG ("Wifi Product RST")
                        Local0 = Acquire (CNMT, 0x03E8)
                        If ((Local0 == Zero))
                        {
                            If ((FLRC == One))
                            {
                                Local0 = DCTR /* \_SB_.PC00.RP10.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                                Sleep (FDEL)
                            }

                            DPRS = One
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (Zero)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = Zero
                                }

                                Sleep (RDLY)
                            }

                            PDRC = One
                            Sleep (VDEL)
                            SGOV (WLRT, Zero)
                            Sleep (PDEL)
                            SGOV (WLRT, One)
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (One)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = One
                                }

                                Sleep (RDLY)
                            }

                            DPRS = 0x02
                            Release (CNMT)
                        }
                    }
                    Else
                    {
                        ADBG ("Wifi Core RST")
                        If ((DCAP & 0x10000000))
                        {
                            Local0 = DCTR /* \_SB_.PC00.RP10.PXSX.DCTR */
                            Local0 |= 0x8000
                            DCTR = Local0
                        }

                        DPRS = One
                    }

                    Sleep (0x07D0)
                    MSNL = DR01 /* \DR01 */
                    L1C1 = DR02 /* \DR02 */
                    L1C2 = DR03 /* \DR03 */
                    PTMR = DR04 /* \DR04 */
                    Sleep (0x07D0)
                }
            }

            Name (SPLX, Package (0x02)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (SPLC, 0, Serialized)
            {
                DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                Return (SPLX) /* \_SB_.PC00.RP10.PXSX.SPLX */
            }

            Name (WANX, Package (0x03)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }, 

                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (WAND, 0, Serialized)
            {
                DerefOf (WANX [One]) [Zero] = Zero
                DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                DerefOf (WANX [0x02]) [Zero] = One
                DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                Return (WANX) /* \_SB_.PC00.RP10.PXSX.WANX */
            }

            Name (WRDX, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x80000000, 
                    0x8000
                }
            })
            Method (WRDD, 0, Serialized)
            {
                DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                Return (WRDX) /* \_SB_.PC00.RP10.PXSX.WRDX */
            }

            Name (WRDY, Package (0x02)
            {
                0x02, 
                Package (0x2E)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WRDS, 0, Serialized)
            {
                DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                Return (WRDY) /* \_SB_.PC00.RP10.PXSX.WRDY */
            }

            Name (EWRY, Package (0x02)
            {
                0x02, 
                Package (0x87)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (EWRD, 0, Serialized)
            {
                DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                Return (EWRY) /* \_SB_.PC00.RP10.PXSX.EWRY */
            }

            Name (WGDY, Package (0x02)
            {
                0x03, 
                Package (0x4A)
                {
                    0x07, 
                    0x03, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WGDS, 0, Serialized)
            {
                DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                Return (WGDY) /* \_SB_.PC00.RP10.PXSX.WGDY */
            }

            Name (ECKY, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }
            })
            Method (ECKV, 0, Serialized)
            {
                DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                Return (ECKY) /* \_SB_.PC00.RP10.PXSX.ECKY */
            }

            Name (PPAY, Package (0x02)
            {
                0x02, 
                Package (0x18)
                {
                    0x07, 
                    Zero, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28
                }
            })
            Method (PPAG, 0, Serialized)
            {
                DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                Return (PPAY) /* \_SB_.PC00.RP10.PXSX.PPAY */
            }

            Name (WPFY, Package (0x02)
            {
                Zero, 
                Package (0x05)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WPFC, 0, Serialized)
            {
                DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                DerefOf (WPFY [One]) [0x03] = \WPFC
                DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                Return (WPFY) /* \_SB_.PC00.RP10.PXSX.WPFY */
            }

            Name (WTSY, Package (0x02)
            {
                One, 
                Package (0x13)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WTAS, 0, Serialized)
            {
                DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                Return (WTSY) /* \_SB_.PC00.RP10.PXSX.WTSY */
            }

            Name (WAIY, Package (0x02)
            {
                Zero, 
                Package (0x04)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WAIS, 0, Serialized)
            {
                DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                Return (WAIY) /* \_SB_.PC00.RP10.PXSX.WAIY */
            }

            Name (SADX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    0x80000000
                }, 

                Package (0x02)
                {
                    0x12, 
                    0x80000000
                }
            })
            Method (SADS, 0, Serialized)
            {
                DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                Return (SADX) /* \_SB_.PC00.RP10.PXSX.SADX */
            }

            Name (GPCX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }, 

                Package (0x02)
                {
                    0x12, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }
            })
            Method (GPC, 0, Serialized)
            {
                Return (GPCX) /* \_SB_.PC00.RP10.PXSX.GPCX */
            }

            Name (GLAX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }, 

                Package (0x02)
                {
                    0x12, 
                    Zero
                }
            })
            Method (GLAI, 0, Serialized)
            {
                ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                Return (GLAX) /* \_SB_.PC00.RP10.PXSX.GLAX */
            }
        }

        If (((WWEN != Zero) && (WWRP == SLOT)))
        {
            Method (FHRF, 1, NotSerialized)
            {
                If ((GGOV (PRST) != WPRP))
                {
                    DL23 ()
                    ADBG ("WWAN DL23() Done")
                    SGOV (PRST, WPRP)
                    ADBG ("WWAN PERST:0 Done")
                }
                Else
                {
                    ADBG ("Assume WWAN DL23() is already done")
                }

                Sleep (TR2B)
                SGOV (WBRS, PBRS)
                ADBG ("WWAN RST:0 Done")
                If ((Arg0 == Zero))
                {
                    Sleep (TBTG)
                    ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                }
                ElseIf ((Arg0 == One))
                {
                    SPCO (WCLK, Zero)
                    ADBG ("WWAN SCLK:0 Done")
                    Sleep (TB2F)
                    ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                    SGOV (WFCP, (~PFCP & One))
                    ADBG ("WWAN PWR:0 Done")
                    Sleep (TFDI)
                    ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                }
                Else
                {
                    ADBG ("Unsupported Arg0 is detected.")
                }
            }

            Method (SHRF, 0, NotSerialized)
            {
                PSD0 (SLOT)
                ADBG ("WWAN MPHYPG:0 Done")
                SPCO (WCLK, One)
                ADBG ("WWAN SCLK:1 Done")
                SGOV (WFCP, PFCP)
                ADBG ("WWAN PWR:1 Done")
                Sleep (TN2B)
                ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                SGOV (WBRS, (~PBRS & One))
                ADBG ("WWAN RST:1 Done")
                Sleep (TB2R)
                ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                SGOV (PRST, (~WPRP & One))
                ADBG ("WWAN PERST:0 Done")
                L23D ()
                ADBG ("WWAN L23D() Done")
            }

            Method (DOSV, 0, NotSerialized)
            {
                Local0 = Zero
                While (((SVID != WSID) && (Local0 < WSTO)))
                {
                    Local0++
                    Sleep (One)
                }

                ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
            }

            Method (_RST, 0, Serialized)  // _RST: Device Reset
            {
                ADBG ("_RST WWAN")
                If ((WWEN == 0x02))
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN FLDR")
                        FHRF (Zero)
                        SHRF ()
                        ADBG ("End WWAN FLDR")
                        Release (WWMT)
                        ADBG ("WWAN FLDR Mutex:Release Done")
                        DOSV ()
                    }
                }
                Else
                {
                    SGOV (WBRS, PBRS)
                    Sleep (0xC8)
                    Notify (PXSX, One) // Device Check
                    SGOV (PRST, (~WPRP & One))
                    SGOV (WBRS, (~PBRS & One))
                    Sleep (0xC8)
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x14))
                        {
                            ADBG ("FLDR TO")
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    Sleep (0x0A)
                    ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                    Notify (PXSX, One) // Device Check
                }
            }

            PowerResource (MRST, 0x05, 0x0000)
            {
                Method (_STA, 0, Serialized)  // _STA: Status
                {
                    ADBG ("WWAN PR _STA")
                    Return (One)
                }

                Method (_ON, 0, Serialized)  // _ON_: Power On
                {
                    ADBG ("WWAN PR _ON")
                }

                Method (_OFF, 0, Serialized)  // _OFF: Power Off
                {
                    ADBG ("WWAN PR _OFF")
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN PLDR")
                        FHRF (One)
                        SHRF ()
                        ADBG ("End WWAN PR _RST")
                        Release (WWMT)
                        ADBG ("WWAN PLDR Mutex: Release Done")
                        DOSV ()
                    }
                }
            }
        }

        If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
        {
            Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
            {
                If (WIST ())
                {
                    If (CondRefOf (WRST))
                    {
                        Return (Package (0x01)
                        {
                            WRST
                        })
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If (CondRefOf (MRST))
                    {
                        Return (Package (0x01)
                        {
                            MRST
                        })
                    }
                }

                Return (Package (0x01)
                {
                    WRST
                })
            }

            Name (FDEL, Zero)
            Name (PDEL, Zero)
            Name (VDEL, Zero)
            Method (IFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (One)
                        {
                             0x1F                                             // .
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    ADBG (Concatenate ("vPro: ", CVPR))
                    Local0 = (CVPR << Zero)
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    CreateWordField (Arg3, Zero, CMDT)
                    CreateWordField (Arg3, 0x02, CMDP)
                    ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                    ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                    If ((CMDT == One))
                    {
                        If (WIST ())
                        {
                            Return (RSTY) /* \_SB_.PC00.RP10.PXSX.RSTY */
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                            Return (^^^CNVW.RSTT) /* \_SB_.PC00.CNVW.RSTT */
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    If ((CMDT == 0x02))
                    {
                        If (WIST ())
                        {
                            Local0 = (CMDP & One)
                            RSTY = Local0
                            Local1 = (CMDP & 0x02)
                            Local1 >>= One
                            FLRC = Local1
                            Local2 = (CMDP & 0x04)
                            Local2 >>= 0x02
                            BOFC = Local2
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                            ^^^CNVW.RSTT = CMDP /* \_SB_.PC00.RP10.PXSX.IFUN.CMDP */
                        }

                        Return (Zero)
                    }

                    If ((CMDT == 0x03))
                    {
                        If (CondRefOf (\_SB.PC00.CNVW.PRRS))
                        {
                            ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                            Return (^^^CNVW.PRRS) /* \_SB_.PC00.CNVW.PRRS */
                        }
                        ElseIf (WIST ())
                        {
                            ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                            Return (DPRS) /* \_SB_.PC00.RP10.PXSX.DPRS */
                        }
                    }

                    Return (Zero)
                }

                If ((Arg2 == 0x03))
                {
                    If ((CRFI == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x04))
                {
                    CreateWordField (Arg3, Zero, PRTT)
                    CreateWordField (Arg3, 0x02, PRTD)
                    ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                    ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                    If ((PRTT == One))
                    {
                        FDEL = PRTD /* \_SB_.PC00.RP10.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x02))
                    {
                        PDEL = PRTD /* \_SB_.PC00.RP10.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x03))
                    {
                        VDEL = PRTD /* \_SB_.PC00.RP10.PXSX.IFUN.PRTD */
                    }
                    Else
                    {
                        ADBG ("TimerDuration not set")
                    }
                }

                Return (Zero)
            }

            Method (IDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (EFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (0x02)
                        {
                             0xFF, 0x1F                                       // ..
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    Local0 = ACSD /* \ACSD */
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    Local0 = I5BS /* \I5BS */
                    Return (Local0)
                }

                If ((Arg2 == 0x03))
                {
                    Local0 = UHBS /* \UHBS */
                    Return (Local0)
                }

                If ((Arg2 == 0x06))
                {
                    Local0 = AXMU /* \AXMU */
                    Local0 <<= One
                    Local0 |= AXSU /* \AXSU */
                    Local1 = AXMR /* \AXMR */
                    Local1 <<= One
                    Local1 |= AXSR /* \AXSR */
                    Local1 <<= 0x02
                    Local0 |= Local1
                    Return (Local0)
                }

                If ((Arg2 == 0x04))
                {
                    Return (Buffer (0x02)
                    {
                         0x03, 0x00                                       // ..
                    })
                }

                If ((Arg2 == 0x05))
                {
                    Return (WFUC) /* \WFUC */
                }

                If ((Arg2 == 0x07))
                {
                    Return (UNI4) /* \UNI4 */
                }

                If ((Arg2 == 0x08))
                {
                    Return (WFIC) /* \WFIC */
                }

                If ((Arg2 == 0x09))
                {
                    Return (WFBS) /* \WFBS */
                }

                If ((Arg2 == 0x0A))
                {
                    Return (WEDT) /* \WEDT */
                }

                If ((Arg2 == 0x0B))
                {
                    If ((CIRM == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x0C))
                {
                    Return (WF7C) /* \WF7C */
                }

                Return (Zero)
            }

            Method (EDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (WIST ())
                {
                    If (EDSM (Arg0))
                    {
                        Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (IDSM (Arg0))
                    {
                        Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x09                                             // .
                            })
                        }

                        If ((Arg2 == One)){}
                        If ((Arg2 == 0x02)){}
                        If ((Arg2 == 0x03))
                        {
                            If ((WRTO == One))
                            {
                                ADBG ("WWAN Power _DSM D0/L1.2")
                            }
                            ElseIf ((WRTO == 0x02))
                            {
                                ADBG ("WWAN Power _DSM D3/L1.2")
                            }
                            ElseIf ((WRTO == 0x03))
                            {
                                ADBG ("WWAN Power _DSM D3/L2")
                            }
                            Else
                            {
                                ADBG ("WWAN Power _DSM Disabled")
                            }

                            Return (WRTO) /* \WRTO */
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (_SB.PC00.RP11.PXSX)
    {
        OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x30)
        Field (RPXX, AnyAcc, NoLock, Preserve)
        {
            VDID,   32, 
            Offset (0x2C), 
            SVID,   16
        }

        OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WDCO), 0x06)
        Field (FLDR, ByteAcc, NoLock, Preserve)
        {
            DCAP,   32, 
            DCTR,   16
        }

        OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WVHO), 0x10)
        Field (VSEC, AnyAcc, NoLock, Preserve)
        {
            Offset (0x0C), 
                ,   1, 
            BTIE,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
            Offset (0x0D), 
            PDRC,   1
        }

        OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x02B8)
        Field (PBRR, AnyAcc, NoLock, Preserve)
        {
            Offset (0x18C), 
            MSNL,   32, 
            Offset (0x198), 
            L1C1,   32, 
            L1C2,   32, 
            Offset (0x2B4), 
            PTMR,   32
        }

        Method (WIST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x25268086)
                    {
                        Return (One)
                    }
                    Case (0x271B8086)
                    {
                        Return (One)
                    }
                    Case (0x27238086)
                    {
                        Return (One)
                    }
                    Case (0x27258086)
                    {
                        Return (One)
                    }
                    Case (0x272B8086)
                    {
                        Return (One)
                    }
                    Default
                    {
                        If ((SVDC == One))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        Method (WWST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x73608086)
                    {
                        Return (One)
                    }
                    Case (0x75608086)
                    {
                        Return (One)
                    }
                    Case (0x4D7514C3)
                    {
                        Return (One)
                    }
                    Case (0x080014C3)
                    {
                        Return (One)
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        If (WIST ())
        {
            Name (RSTY, Zero)
            Name (FLRC, Zero)
            Name (BOFC, Zero)
            Name (DPRS, Zero)
            PowerResource (WRST, 0x05, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    ADBG ("Wifi PR _STA")
                    Return (One)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    ADBG ("Wifi PR _ON")
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    ADBG ("Wifi PR _OFF")
                }

                Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                {
                    If ((RSTY == One))
                    {
                        ADBG ("Wifi Product RST")
                        Local0 = Acquire (CNMT, 0x03E8)
                        If ((Local0 == Zero))
                        {
                            If ((FLRC == One))
                            {
                                Local0 = DCTR /* \_SB_.PC00.RP11.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                                Sleep (FDEL)
                            }

                            DPRS = One
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (Zero)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = Zero
                                }

                                Sleep (RDLY)
                            }

                            PDRC = One
                            Sleep (VDEL)
                            SGOV (WLRT, Zero)
                            Sleep (PDEL)
                            SGOV (WLRT, One)
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (One)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = One
                                }

                                Sleep (RDLY)
                            }

                            DPRS = 0x02
                            Release (CNMT)
                        }
                    }
                    Else
                    {
                        ADBG ("Wifi Core RST")
                        If ((DCAP & 0x10000000))
                        {
                            Local0 = DCTR /* \_SB_.PC00.RP11.PXSX.DCTR */
                            Local0 |= 0x8000
                            DCTR = Local0
                        }

                        DPRS = One
                    }

                    Sleep (0x07D0)
                    MSNL = DR01 /* \DR01 */
                    L1C1 = DR02 /* \DR02 */
                    L1C2 = DR03 /* \DR03 */
                    PTMR = DR04 /* \DR04 */
                    Sleep (0x07D0)
                }
            }

            Name (SPLX, Package (0x02)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (SPLC, 0, Serialized)
            {
                DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                Return (SPLX) /* \_SB_.PC00.RP11.PXSX.SPLX */
            }

            Name (WANX, Package (0x03)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }, 

                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (WAND, 0, Serialized)
            {
                DerefOf (WANX [One]) [Zero] = Zero
                DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                DerefOf (WANX [0x02]) [Zero] = One
                DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                Return (WANX) /* \_SB_.PC00.RP11.PXSX.WANX */
            }

            Name (WRDX, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x80000000, 
                    0x8000
                }
            })
            Method (WRDD, 0, Serialized)
            {
                DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                Return (WRDX) /* \_SB_.PC00.RP11.PXSX.WRDX */
            }

            Name (WRDY, Package (0x02)
            {
                0x02, 
                Package (0x2E)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WRDS, 0, Serialized)
            {
                DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                Return (WRDY) /* \_SB_.PC00.RP11.PXSX.WRDY */
            }

            Name (EWRY, Package (0x02)
            {
                0x02, 
                Package (0x87)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (EWRD, 0, Serialized)
            {
                DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                Return (EWRY) /* \_SB_.PC00.RP11.PXSX.EWRY */
            }

            Name (WGDY, Package (0x02)
            {
                0x03, 
                Package (0x4A)
                {
                    0x07, 
                    0x03, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WGDS, 0, Serialized)
            {
                DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                Return (WGDY) /* \_SB_.PC00.RP11.PXSX.WGDY */
            }

            Name (ECKY, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }
            })
            Method (ECKV, 0, Serialized)
            {
                DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                Return (ECKY) /* \_SB_.PC00.RP11.PXSX.ECKY */
            }

            Name (PPAY, Package (0x02)
            {
                0x02, 
                Package (0x18)
                {
                    0x07, 
                    Zero, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28
                }
            })
            Method (PPAG, 0, Serialized)
            {
                DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                Return (PPAY) /* \_SB_.PC00.RP11.PXSX.PPAY */
            }

            Name (WPFY, Package (0x02)
            {
                Zero, 
                Package (0x05)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WPFC, 0, Serialized)
            {
                DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                DerefOf (WPFY [One]) [0x03] = \WPFC
                DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                Return (WPFY) /* \_SB_.PC00.RP11.PXSX.WPFY */
            }

            Name (WTSY, Package (0x02)
            {
                One, 
                Package (0x13)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WTAS, 0, Serialized)
            {
                DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                Return (WTSY) /* \_SB_.PC00.RP11.PXSX.WTSY */
            }

            Name (WAIY, Package (0x02)
            {
                Zero, 
                Package (0x04)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WAIS, 0, Serialized)
            {
                DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                Return (WAIY) /* \_SB_.PC00.RP11.PXSX.WAIY */
            }

            Name (SADX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    0x80000000
                }, 

                Package (0x02)
                {
                    0x12, 
                    0x80000000
                }
            })
            Method (SADS, 0, Serialized)
            {
                DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                Return (SADX) /* \_SB_.PC00.RP11.PXSX.SADX */
            }

            Name (GPCX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }, 

                Package (0x02)
                {
                    0x12, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }
            })
            Method (GPC, 0, Serialized)
            {
                Return (GPCX) /* \_SB_.PC00.RP11.PXSX.GPCX */
            }

            Name (GLAX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }, 

                Package (0x02)
                {
                    0x12, 
                    Zero
                }
            })
            Method (GLAI, 0, Serialized)
            {
                ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                Return (GLAX) /* \_SB_.PC00.RP11.PXSX.GLAX */
            }
        }

        If (((WWEN != Zero) && (WWRP == SLOT)))
        {
            Method (FHRF, 1, NotSerialized)
            {
                If ((GGOV (PRST) != WPRP))
                {
                    DL23 ()
                    ADBG ("WWAN DL23() Done")
                    SGOV (PRST, WPRP)
                    ADBG ("WWAN PERST:0 Done")
                }
                Else
                {
                    ADBG ("Assume WWAN DL23() is already done")
                }

                Sleep (TR2B)
                SGOV (WBRS, PBRS)
                ADBG ("WWAN RST:0 Done")
                If ((Arg0 == Zero))
                {
                    Sleep (TBTG)
                    ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                }
                ElseIf ((Arg0 == One))
                {
                    SPCO (WCLK, Zero)
                    ADBG ("WWAN SCLK:0 Done")
                    Sleep (TB2F)
                    ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                    SGOV (WFCP, (~PFCP & One))
                    ADBG ("WWAN PWR:0 Done")
                    Sleep (TFDI)
                    ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                }
                Else
                {
                    ADBG ("Unsupported Arg0 is detected.")
                }
            }

            Method (SHRF, 0, NotSerialized)
            {
                PSD0 (SLOT)
                ADBG ("WWAN MPHYPG:0 Done")
                SPCO (WCLK, One)
                ADBG ("WWAN SCLK:1 Done")
                SGOV (WFCP, PFCP)
                ADBG ("WWAN PWR:1 Done")
                Sleep (TN2B)
                ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                SGOV (WBRS, (~PBRS & One))
                ADBG ("WWAN RST:1 Done")
                Sleep (TB2R)
                ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                SGOV (PRST, (~WPRP & One))
                ADBG ("WWAN PERST:0 Done")
                L23D ()
                ADBG ("WWAN L23D() Done")
            }

            Method (DOSV, 0, NotSerialized)
            {
                Local0 = Zero
                While (((SVID != WSID) && (Local0 < WSTO)))
                {
                    Local0++
                    Sleep (One)
                }

                ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
            }

            Method (_RST, 0, Serialized)  // _RST: Device Reset
            {
                ADBG ("_RST WWAN")
                If ((WWEN == 0x02))
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN FLDR")
                        FHRF (Zero)
                        SHRF ()
                        ADBG ("End WWAN FLDR")
                        Release (WWMT)
                        ADBG ("WWAN FLDR Mutex:Release Done")
                        DOSV ()
                    }
                }
                Else
                {
                    SGOV (WBRS, PBRS)
                    Sleep (0xC8)
                    Notify (PXSX, One) // Device Check
                    SGOV (PRST, (~WPRP & One))
                    SGOV (WBRS, (~PBRS & One))
                    Sleep (0xC8)
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x14))
                        {
                            ADBG ("FLDR TO")
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    Sleep (0x0A)
                    ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                    Notify (PXSX, One) // Device Check
                }
            }

            PowerResource (MRST, 0x05, 0x0000)
            {
                Method (_STA, 0, Serialized)  // _STA: Status
                {
                    ADBG ("WWAN PR _STA")
                    Return (One)
                }

                Method (_ON, 0, Serialized)  // _ON_: Power On
                {
                    ADBG ("WWAN PR _ON")
                }

                Method (_OFF, 0, Serialized)  // _OFF: Power Off
                {
                    ADBG ("WWAN PR _OFF")
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN PLDR")
                        FHRF (One)
                        SHRF ()
                        ADBG ("End WWAN PR _RST")
                        Release (WWMT)
                        ADBG ("WWAN PLDR Mutex: Release Done")
                        DOSV ()
                    }
                }
            }
        }

        If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
        {
            Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
            {
                If (WIST ())
                {
                    If (CondRefOf (WRST))
                    {
                        Return (Package (0x01)
                        {
                            WRST
                        })
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If (CondRefOf (MRST))
                    {
                        Return (Package (0x01)
                        {
                            MRST
                        })
                    }
                }

                Return (Package (0x01)
                {
                    WRST
                })
            }

            Name (FDEL, Zero)
            Name (PDEL, Zero)
            Name (VDEL, Zero)
            Method (IFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (One)
                        {
                             0x1F                                             // .
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    ADBG (Concatenate ("vPro: ", CVPR))
                    Local0 = (CVPR << Zero)
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    CreateWordField (Arg3, Zero, CMDT)
                    CreateWordField (Arg3, 0x02, CMDP)
                    ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                    ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                    If ((CMDT == One))
                    {
                        If (WIST ())
                        {
                            Return (RSTY) /* \_SB_.PC00.RP11.PXSX.RSTY */
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                            Return (^^^CNVW.RSTT) /* \_SB_.PC00.CNVW.RSTT */
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    If ((CMDT == 0x02))
                    {
                        If (WIST ())
                        {
                            Local0 = (CMDP & One)
                            RSTY = Local0
                            Local1 = (CMDP & 0x02)
                            Local1 >>= One
                            FLRC = Local1
                            Local2 = (CMDP & 0x04)
                            Local2 >>= 0x02
                            BOFC = Local2
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                            ^^^CNVW.RSTT = CMDP /* \_SB_.PC00.RP11.PXSX.IFUN.CMDP */
                        }

                        Return (Zero)
                    }

                    If ((CMDT == 0x03))
                    {
                        If (CondRefOf (\_SB.PC00.CNVW.PRRS))
                        {
                            ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                            Return (^^^CNVW.PRRS) /* \_SB_.PC00.CNVW.PRRS */
                        }
                        ElseIf (WIST ())
                        {
                            ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                            Return (DPRS) /* \_SB_.PC00.RP11.PXSX.DPRS */
                        }
                    }

                    Return (Zero)
                }

                If ((Arg2 == 0x03))
                {
                    If ((CRFI == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x04))
                {
                    CreateWordField (Arg3, Zero, PRTT)
                    CreateWordField (Arg3, 0x02, PRTD)
                    ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                    ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                    If ((PRTT == One))
                    {
                        FDEL = PRTD /* \_SB_.PC00.RP11.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x02))
                    {
                        PDEL = PRTD /* \_SB_.PC00.RP11.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x03))
                    {
                        VDEL = PRTD /* \_SB_.PC00.RP11.PXSX.IFUN.PRTD */
                    }
                    Else
                    {
                        ADBG ("TimerDuration not set")
                    }
                }

                Return (Zero)
            }

            Method (IDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (EFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (0x02)
                        {
                             0xFF, 0x1F                                       // ..
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    Local0 = ACSD /* \ACSD */
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    Local0 = I5BS /* \I5BS */
                    Return (Local0)
                }

                If ((Arg2 == 0x03))
                {
                    Local0 = UHBS /* \UHBS */
                    Return (Local0)
                }

                If ((Arg2 == 0x06))
                {
                    Local0 = AXMU /* \AXMU */
                    Local0 <<= One
                    Local0 |= AXSU /* \AXSU */
                    Local1 = AXMR /* \AXMR */
                    Local1 <<= One
                    Local1 |= AXSR /* \AXSR */
                    Local1 <<= 0x02
                    Local0 |= Local1
                    Return (Local0)
                }

                If ((Arg2 == 0x04))
                {
                    Return (Buffer (0x02)
                    {
                         0x03, 0x00                                       // ..
                    })
                }

                If ((Arg2 == 0x05))
                {
                    Return (WFUC) /* \WFUC */
                }

                If ((Arg2 == 0x07))
                {
                    Return (UNI4) /* \UNI4 */
                }

                If ((Arg2 == 0x08))
                {
                    Return (WFIC) /* \WFIC */
                }

                If ((Arg2 == 0x09))
                {
                    Return (WFBS) /* \WFBS */
                }

                If ((Arg2 == 0x0A))
                {
                    Return (WEDT) /* \WEDT */
                }

                If ((Arg2 == 0x0B))
                {
                    If ((CIRM == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x0C))
                {
                    Return (WF7C) /* \WF7C */
                }

                Return (Zero)
            }

            Method (EDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (WIST ())
                {
                    If (EDSM (Arg0))
                    {
                        Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (IDSM (Arg0))
                    {
                        Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x09                                             // .
                            })
                        }

                        If ((Arg2 == One)){}
                        If ((Arg2 == 0x02)){}
                        If ((Arg2 == 0x03))
                        {
                            If ((WRTO == One))
                            {
                                ADBG ("WWAN Power _DSM D0/L1.2")
                            }
                            ElseIf ((WRTO == 0x02))
                            {
                                ADBG ("WWAN Power _DSM D3/L1.2")
                            }
                            ElseIf ((WRTO == 0x03))
                            {
                                ADBG ("WWAN Power _DSM D3/L2")
                            }
                            Else
                            {
                                ADBG ("WWAN Power _DSM Disabled")
                            }

                            Return (WRTO) /* \WRTO */
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (_SB.PC00.RP12.PXSX)
    {
        OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x30)
        Field (RPXX, AnyAcc, NoLock, Preserve)
        {
            VDID,   32, 
            Offset (0x2C), 
            SVID,   16
        }

        OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WDCO), 0x06)
        Field (FLDR, ByteAcc, NoLock, Preserve)
        {
            DCAP,   32, 
            DCTR,   16
        }

        OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR (), _ADR) + WVHO), 0x10)
        Field (VSEC, AnyAcc, NoLock, Preserve)
        {
            Offset (0x0C), 
                ,   1, 
            BTIE,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
            Offset (0x0D), 
            PDRC,   1
        }

        OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR (), _ADR), 0x02B8)
        Field (PBRR, AnyAcc, NoLock, Preserve)
        {
            Offset (0x18C), 
            MSNL,   32, 
            Offset (0x198), 
            L1C1,   32, 
            L1C2,   32, 
            Offset (0x2B4), 
            PTMR,   32
        }

        Method (WIST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x25268086)
                    {
                        Return (One)
                    }
                    Case (0x271B8086)
                    {
                        Return (One)
                    }
                    Case (0x27238086)
                    {
                        Return (One)
                    }
                    Case (0x27258086)
                    {
                        Return (One)
                    }
                    Case (0x272B8086)
                    {
                        Return (One)
                    }
                    Default
                    {
                        If ((SVDC == One))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        Method (WWST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x73608086)
                    {
                        Return (One)
                    }
                    Case (0x75608086)
                    {
                        Return (One)
                    }
                    Case (0x4D7514C3)
                    {
                        Return (One)
                    }
                    Case (0x080014C3)
                    {
                        Return (One)
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        If (WIST ())
        {
            Name (RSTY, Zero)
            Name (FLRC, Zero)
            Name (BOFC, Zero)
            Name (DPRS, Zero)
            PowerResource (WRST, 0x05, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    ADBG ("Wifi PR _STA")
                    Return (One)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    ADBG ("Wifi PR _ON")
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    ADBG ("Wifi PR _OFF")
                }

                Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                {
                    If ((RSTY == One))
                    {
                        ADBG ("Wifi Product RST")
                        Local0 = Acquire (CNMT, 0x03E8)
                        If ((Local0 == Zero))
                        {
                            If ((FLRC == One))
                            {
                                Local0 = DCTR /* \_SB_.PC00.RP12.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                                Sleep (FDEL)
                            }

                            DPRS = One
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (Zero)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = Zero
                                }

                                Sleep (RDLY)
                            }

                            PDRC = One
                            Sleep (VDEL)
                            SGOV (WLRT, Zero)
                            Sleep (PDEL)
                            SGOV (WLRT, One)
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (One)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = One
                                }

                                Sleep (RDLY)
                            }

                            DPRS = 0x02
                            Release (CNMT)
                        }
                    }
                    Else
                    {
                        ADBG ("Wifi Core RST")
                        If ((DCAP & 0x10000000))
                        {
                            Local0 = DCTR /* \_SB_.PC00.RP12.PXSX.DCTR */
                            Local0 |= 0x8000
                            DCTR = Local0
                        }

                        DPRS = One
                    }

                    Sleep (0x07D0)
                    MSNL = DR01 /* \DR01 */
                    L1C1 = DR02 /* \DR02 */
                    L1C2 = DR03 /* \DR03 */
                    PTMR = DR04 /* \DR04 */
                    Sleep (0x07D0)
                }
            }

            Name (SPLX, Package (0x02)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (SPLC, 0, Serialized)
            {
                DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                Return (SPLX) /* \_SB_.PC00.RP12.PXSX.SPLX */
            }

            Name (WANX, Package (0x03)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }, 

                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (WAND, 0, Serialized)
            {
                DerefOf (WANX [One]) [Zero] = Zero
                DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                DerefOf (WANX [0x02]) [Zero] = One
                DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                Return (WANX) /* \_SB_.PC00.RP12.PXSX.WANX */
            }

            Name (WRDX, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x80000000, 
                    0x8000
                }
            })
            Method (WRDD, 0, Serialized)
            {
                DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                Return (WRDX) /* \_SB_.PC00.RP12.PXSX.WRDX */
            }

            Name (WRDY, Package (0x02)
            {
                0x02, 
                Package (0x2E)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WRDS, 0, Serialized)
            {
                DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                Return (WRDY) /* \_SB_.PC00.RP12.PXSX.WRDY */
            }

            Name (EWRY, Package (0x02)
            {
                0x02, 
                Package (0x87)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (EWRD, 0, Serialized)
            {
                DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                Return (EWRY) /* \_SB_.PC00.RP12.PXSX.EWRY */
            }

            Name (WGDY, Package (0x02)
            {
                0x03, 
                Package (0x4A)
                {
                    0x07, 
                    0x03, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WGDS, 0, Serialized)
            {
                DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                Return (WGDY) /* \_SB_.PC00.RP12.PXSX.WGDY */
            }

            Name (ECKY, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }
            })
            Method (ECKV, 0, Serialized)
            {
                DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                Return (ECKY) /* \_SB_.PC00.RP12.PXSX.ECKY */
            }

            Name (PPAY, Package (0x02)
            {
                0x02, 
                Package (0x18)
                {
                    0x07, 
                    Zero, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28
                }
            })
            Method (PPAG, 0, Serialized)
            {
                DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                Return (PPAY) /* \_SB_.PC00.RP12.PXSX.PPAY */
            }

            Name (WPFY, Package (0x02)
            {
                Zero, 
                Package (0x05)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WPFC, 0, Serialized)
            {
                DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                DerefOf (WPFY [One]) [0x03] = \WPFC
                DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                Return (WPFY) /* \_SB_.PC00.RP12.PXSX.WPFY */
            }

            Name (WTSY, Package (0x02)
            {
                One, 
                Package (0x13)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WTAS, 0, Serialized)
            {
                DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                Return (WTSY) /* \_SB_.PC00.RP12.PXSX.WTSY */
            }

            Name (WAIY, Package (0x02)
            {
                Zero, 
                Package (0x04)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WAIS, 0, Serialized)
            {
                DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                Return (WAIY) /* \_SB_.PC00.RP12.PXSX.WAIY */
            }

            Name (SADX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    0x80000000
                }, 

                Package (0x02)
                {
                    0x12, 
                    0x80000000
                }
            })
            Method (SADS, 0, Serialized)
            {
                DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                Return (SADX) /* \_SB_.PC00.RP12.PXSX.SADX */
            }

            Name (GPCX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }, 

                Package (0x02)
                {
                    0x12, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }
            })
            Method (GPC, 0, Serialized)
            {
                Return (GPCX) /* \_SB_.PC00.RP12.PXSX.GPCX */
            }

            Name (GLAX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }, 

                Package (0x02)
                {
                    0x12, 
                    Zero
                }
            })
            Method (GLAI, 0, Serialized)
            {
                ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                Return (GLAX) /* \_SB_.PC00.RP12.PXSX.GLAX */
            }
        }

        If (((WWEN != Zero) && (WWRP == SLOT)))
        {
            Method (FHRF, 1, NotSerialized)
            {
                If ((GGOV (PRST) != WPRP))
                {
                    DL23 ()
                    ADBG ("WWAN DL23() Done")
                    SGOV (PRST, WPRP)
                    ADBG ("WWAN PERST:0 Done")
                }
                Else
                {
                    ADBG ("Assume WWAN DL23() is already done")
                }

                Sleep (TR2B)
                SGOV (WBRS, PBRS)
                ADBG ("WWAN RST:0 Done")
                If ((Arg0 == Zero))
                {
                    Sleep (TBTG)
                    ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                }
                ElseIf ((Arg0 == One))
                {
                    SPCO (WCLK, Zero)
                    ADBG ("WWAN SCLK:0 Done")
                    Sleep (TB2F)
                    ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                    SGOV (WFCP, (~PFCP & One))
                    ADBG ("WWAN PWR:0 Done")
                    Sleep (TFDI)
                    ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                }
                Else
                {
                    ADBG ("Unsupported Arg0 is detected.")
                }
            }

            Method (SHRF, 0, NotSerialized)
            {
                PSD0 (SLOT)
                ADBG ("WWAN MPHYPG:0 Done")
                SPCO (WCLK, One)
                ADBG ("WWAN SCLK:1 Done")
                SGOV (WFCP, PFCP)
                ADBG ("WWAN PWR:1 Done")
                Sleep (TN2B)
                ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                SGOV (WBRS, (~PBRS & One))
                ADBG ("WWAN RST:1 Done")
                Sleep (TB2R)
                ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                SGOV (PRST, (~WPRP & One))
                ADBG ("WWAN PERST:0 Done")
                L23D ()
                ADBG ("WWAN L23D() Done")
            }

            Method (DOSV, 0, NotSerialized)
            {
                Local0 = Zero
                While (((SVID != WSID) && (Local0 < WSTO)))
                {
                    Local0++
                    Sleep (One)
                }

                ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
            }

            Method (_RST, 0, Serialized)  // _RST: Device Reset
            {
                ADBG ("_RST WWAN")
                If ((WWEN == 0x02))
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN FLDR")
                        FHRF (Zero)
                        SHRF ()
                        ADBG ("End WWAN FLDR")
                        Release (WWMT)
                        ADBG ("WWAN FLDR Mutex:Release Done")
                        DOSV ()
                    }
                }
                Else
                {
                    SGOV (WBRS, PBRS)
                    Sleep (0xC8)
                    Notify (PXSX, One) // Device Check
                    SGOV (PRST, (~WPRP & One))
                    SGOV (WBRS, (~PBRS & One))
                    Sleep (0xC8)
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x14))
                        {
                            ADBG ("FLDR TO")
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    Sleep (0x0A)
                    ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                    Notify (PXSX, One) // Device Check
                }
            }

            PowerResource (MRST, 0x05, 0x0000)
            {
                Method (_STA, 0, Serialized)  // _STA: Status
                {
                    ADBG ("WWAN PR _STA")
                    Return (One)
                }

                Method (_ON, 0, Serialized)  // _ON_: Power On
                {
                    ADBG ("WWAN PR _ON")
                }

                Method (_OFF, 0, Serialized)  // _OFF: Power Off
                {
                    ADBG ("WWAN PR _OFF")
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN PLDR")
                        FHRF (One)
                        SHRF ()
                        ADBG ("End WWAN PR _RST")
                        Release (WWMT)
                        ADBG ("WWAN PLDR Mutex: Release Done")
                        DOSV ()
                    }
                }
            }
        }

        If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
        {
            Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
            {
                If (WIST ())
                {
                    If (CondRefOf (WRST))
                    {
                        Return (Package (0x01)
                        {
                            WRST
                        })
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If (CondRefOf (MRST))
                    {
                        Return (Package (0x01)
                        {
                            MRST
                        })
                    }
                }

                Return (Package (0x01)
                {
                    WRST
                })
            }

            Name (FDEL, Zero)
            Name (PDEL, Zero)
            Name (VDEL, Zero)
            Method (IFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (One)
                        {
                             0x1F                                             // .
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    ADBG (Concatenate ("vPro: ", CVPR))
                    Local0 = (CVPR << Zero)
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    CreateWordField (Arg3, Zero, CMDT)
                    CreateWordField (Arg3, 0x02, CMDP)
                    ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                    ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                    If ((CMDT == One))
                    {
                        If (WIST ())
                        {
                            Return (RSTY) /* \_SB_.PC00.RP12.PXSX.RSTY */
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                            Return (^^^CNVW.RSTT) /* \_SB_.PC00.CNVW.RSTT */
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    If ((CMDT == 0x02))
                    {
                        If (WIST ())
                        {
                            Local0 = (CMDP & One)
                            RSTY = Local0
                            Local1 = (CMDP & 0x02)
                            Local1 >>= One
                            FLRC = Local1
                            Local2 = (CMDP & 0x04)
                            Local2 >>= 0x02
                            BOFC = Local2
                        }
                        ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                            ^^^CNVW.RSTT = CMDP /* \_SB_.PC00.RP12.PXSX.IFUN.CMDP */
                        }

                        Return (Zero)
                    }

                    If ((CMDT == 0x03))
                    {
                        If (CondRefOf (\_SB.PC00.CNVW.PRRS))
                        {
                            ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                            Return (^^^CNVW.PRRS) /* \_SB_.PC00.CNVW.PRRS */
                        }
                        ElseIf (WIST ())
                        {
                            ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                            Return (DPRS) /* \_SB_.PC00.RP12.PXSX.DPRS */
                        }
                    }

                    Return (Zero)
                }

                If ((Arg2 == 0x03))
                {
                    If ((CRFI == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x04))
                {
                    CreateWordField (Arg3, Zero, PRTT)
                    CreateWordField (Arg3, 0x02, PRTD)
                    ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                    ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                    If ((PRTT == One))
                    {
                        FDEL = PRTD /* \_SB_.PC00.RP12.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x02))
                    {
                        PDEL = PRTD /* \_SB_.PC00.RP12.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x03))
                    {
                        VDEL = PRTD /* \_SB_.PC00.RP12.PXSX.IFUN.PRTD */
                    }
                    Else
                    {
                        ADBG ("TimerDuration not set")
                    }
                }

                Return (Zero)
            }

            Method (IDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (EFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (0x02)
                        {
                             0xFF, 0x1F                                       // ..
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    Local0 = ACSD /* \ACSD */
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    Local0 = I5BS /* \I5BS */
                    Return (Local0)
                }

                If ((Arg2 == 0x03))
                {
                    Local0 = UHBS /* \UHBS */
                    Return (Local0)
                }

                If ((Arg2 == 0x06))
                {
                    Local0 = AXMU /* \AXMU */
                    Local0 <<= One
                    Local0 |= AXSU /* \AXSU */
                    Local1 = AXMR /* \AXMR */
                    Local1 <<= One
                    Local1 |= AXSR /* \AXSR */
                    Local1 <<= 0x02
                    Local0 |= Local1
                    Return (Local0)
                }

                If ((Arg2 == 0x04))
                {
                    Return (Buffer (0x02)
                    {
                         0x03, 0x00                                       // ..
                    })
                }

                If ((Arg2 == 0x05))
                {
                    Return (WFUC) /* \WFUC */
                }

                If ((Arg2 == 0x07))
                {
                    Return (UNI4) /* \UNI4 */
                }

                If ((Arg2 == 0x08))
                {
                    Return (WFIC) /* \WFIC */
                }

                If ((Arg2 == 0x09))
                {
                    Return (WFBS) /* \WFBS */
                }

                If ((Arg2 == 0x0A))
                {
                    Return (WEDT) /* \WEDT */
                }

                If ((Arg2 == 0x0B))
                {
                    If ((CIRM == One))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                If ((Arg2 == 0x0C))
                {
                    Return (WF7C) /* \WF7C */
                }

                Return (Zero)
            }

            Method (EDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (WIST ())
                {
                    If (EDSM (Arg0))
                    {
                        Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (IDSM (Arg0))
                    {
                        Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x09                                             // .
                            })
                        }

                        If ((Arg2 == One)){}
                        If ((Arg2 == 0x02)){}
                        If ((Arg2 == 0x03))
                        {
                            If ((WRTO == One))
                            {
                                ADBG ("WWAN Power _DSM D0/L1.2")
                            }
                            ElseIf ((WRTO == 0x02))
                            {
                                ADBG ("WWAN Power _DSM D3/L1.2")
                            }
                            ElseIf ((WRTO == 0x03))
                            {
                                ADBG ("WWAN Power _DSM D3/L2")
                            }
                            Else
                            {
                                ADBG ("WWAN Power _DSM Disabled")
                            }

                            Return (WRTO) /* \WRTO */
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (_SB)
    {
        Name (PDAT, Zero)
        Name (DSSI, Zero)
        Device (WFDE)
        {
            Name (_HID, "PNP0C14" /* Windows Management Instrumentation Device */)  // _HID: Hardware ID
            Name (_UID, "DSarDev")  // _UID: Unique ID
            Name (_WDG, Buffer (0x3C)
            {
                /* 0000 */  0xEF, 0x9D, 0xC4, 0x2B, 0x15, 0x7B, 0x05, 0x4F,  // ...+.{.O
                /* 0008 */  0x8B, 0xB7, 0xEE, 0x37, 0xB9, 0x54, 0x7C, 0x0B,  // ...7.T|.
                /* 0010 */  0x44, 0x45, 0x01, 0x02, 0x3E, 0xA3, 0xFE, 0xA6,  // DE..>...
                /* 0018 */  0xBF, 0xDA, 0xF5, 0x46, 0xBF, 0xC8, 0x46, 0x0D,  // ...F..F.
                /* 0020 */  0x96, 0x1B, 0xEC, 0x9F, 0xD0, 0x00, 0x01, 0x08,  // ........
                /* 0028 */  0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11,  // !...f...
                /* 0030 */  0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10,  // ......).
                /* 0038 */  0x43, 0x43, 0x01, 0x00                           // CC..
            })
            Method (WMDE, 3, NotSerialized)
            {
                If ((Arg1 == One))
                {
                    Return (One)
                }

                If ((Arg1 == 0x02))
                {
                    If ((DSSI == Zero))
                    {
                        PDAT = 0x00010001
                        DSSI = One
                    }

                    Return (One)
                }

                If ((Arg1 == 0x03))
                {
                    Return (PDAT) /* \_SB_.PDAT */
                }

                Return (Zero)
            }

            Method (_WED, 1, NotSerialized)  // _Wxx: Wake Event, xx=0x00-0xFF
            {
                If ((Arg0 == 0xD0))
                {
                    Return (PDAT) /* \_SB_.PDAT */
                }

                Return (Zero)
            }

            Name (WQCC, Buffer (0x0482)
            {
                /* 0000 */  0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,  // FOMB....
                /* 0008 */  0x72, 0x04, 0x00, 0x00, 0xF4, 0x0F, 0x00, 0x00,  // r.......
                /* 0010 */  0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,  // DS...}.T
                /* 0018 */  0x18, 0xC2, 0x87, 0x00, 0x01, 0x06, 0x18, 0x42,  // .......B
                /* 0020 */  0x10, 0x05, 0x10, 0x8A, 0xA4, 0x82, 0x42, 0x04,  // ......B.
                /* 0028 */  0x8A, 0x43, 0x24, 0xC1, 0x0E, 0x60, 0x30, 0x1A,  // .C$..`0.
                /* 0030 */  0x40, 0x24, 0x07, 0x42, 0x2E, 0x98, 0x98, 0x00,  // @$.B....
                /* 0038 */  0x11, 0x10, 0xF2, 0x2A, 0xC0, 0xA6, 0x00, 0x93,  // ...*....
                /* 0040 */  0x20, 0xEA, 0xDF, 0x1F, 0xA2, 0x24, 0x38, 0x94,  //  ....$8.
                /* 0048 */  0x10, 0x08, 0x49, 0x14, 0x60, 0x5E, 0x80, 0x6E,  // ..I.`^.n
                /* 0050 */  0x01, 0x86, 0x05, 0xD8, 0x16, 0x60, 0x5A, 0x80,  // .....`Z.
                /* 0058 */  0x63, 0x48, 0x2A, 0x0D, 0x9C, 0x12, 0x58, 0x0A,  // cH*...X.
                /* 0060 */  0x84, 0x84, 0x0A, 0x50, 0x2E, 0xC0, 0xB7, 0x00,  // ...P....
                /* 0068 */  0xED, 0x88, 0x92, 0x2C, 0xC0, 0x32, 0x8C, 0x08,  // ...,.2..
                /* 0070 */  0x3C, 0x0A, 0x86, 0xC6, 0xA1, 0xB1, 0xC3, 0xB0,  // <.......
                /* 0078 */  0x4C, 0x30, 0x0D, 0xE2, 0x30, 0xCA, 0x46, 0x16,  // L0..0.F.
                /* 0080 */  0x81, 0x71, 0x3B, 0x15, 0x20, 0x57, 0x80, 0x30,  // .q;. W.0
                /* 0088 */  0x01, 0xE2, 0x51, 0x85, 0xD1, 0x1C, 0x14, 0x09,  // ..Q.....
                /* 0090 */  0x00, 0x8D, 0x12, 0x33, 0x26, 0x02, 0xDB, 0x39,  // ...3&..9
                /* 0098 */  0xB6, 0x46, 0x71, 0x2A, 0x85, 0x0B, 0x90, 0x8E,  // .Fq*....
                /* 00A0 */  0xA1, 0x11, 0x1C, 0x57, 0x82, 0xE8, 0xC1, 0x82,  // ...W....
                /* 00A8 */  0x44, 0x8B, 0x13, 0xAD, 0x20, 0x4C, 0xCD, 0x22,  // D... L."
                /* 00B0 */  0x5C, 0x88, 0x28, 0x31, 0x8A, 0x86, 0x21, 0x28,  // \.(1..!(
                /* 00B8 */  0x15, 0x8E, 0x49, 0x3E, 0x41, 0x85, 0x12, 0xD6,  // ..I>A...
                /* 00C0 */  0x48, 0x06, 0x8B, 0x7C, 0x6E, 0x71, 0x3D, 0x07,  // H..|nq=.
                /* 00C8 */  0x4F, 0xEC, 0xF0, 0x8C, 0x53, 0x29, 0x88, 0xD0,  // O...S)..
                /* 00D0 */  0x82, 0x99, 0xC0, 0xE3, 0x3A, 0x20, 0x8C, 0x0C,  // ....: ..
                /* 00D8 */  0x08, 0x79, 0x16, 0x60, 0x7D, 0xA4, 0x84, 0xC0,  // .y.`}...
                /* 00E0 */  0xEE, 0x05, 0x28, 0x9B, 0x85, 0x1C, 0xCE, 0x4D,  // ..(....M
                /* 00E8 */  0x63, 0x3B, 0x82, 0x16, 0x05, 0x68, 0x14, 0x60,  // c;...h.`
                /* 00F0 */  0x4B, 0x80, 0x37, 0x24, 0x19, 0x13, 0x60, 0x0D,  // K.7$..`.
                /* 00F8 */  0x45, 0x58, 0x81, 0xCE, 0x30, 0x8A, 0xC5, 0x41,  // EX..0..A
                /* 0100 */  0x09, 0x21, 0x5A, 0x94, 0x90, 0x11, 0x3A, 0x83,  // .!Z...:.
                /* 0108 */  0x24, 0xC8, 0xD1, 0x22, 0x46, 0x89, 0x1F, 0x32,  // $.."F..2
                /* 0110 */  0x4E, 0xFB, 0x83, 0x20, 0x11, 0xCF, 0x05, 0x92,  // N.. ....
                /* 0118 */  0x70, 0x3C, 0xF0, 0x68, 0x50, 0x67, 0x81, 0x04,  // p<.hPg..
                /* 0120 */  0xCF, 0x06, 0x1E, 0xDF, 0x79, 0x7A, 0x94, 0x06,  // ....yz..
                /* 0128 */  0x39, 0xDF, 0x13, 0xAB, 0xF3, 0x50, 0x40, 0x86,  // 9....P@.
                /* 0130 */  0xCF, 0xB0, 0x12, 0xFC, 0xFF, 0xFF, 0x13, 0x7C,  // .......|
                /* 0138 */  0x4A, 0xC0, 0xBB, 0x06, 0xD4, 0xF5, 0xE0, 0xE1,  // J.......
                /* 0140 */  0x80, 0xCD, 0xD1, 0x70, 0x7C, 0x88, 0x9E, 0xEA,  // ...p|...
                /* 0148 */  0x99, 0xB2, 0x91, 0x30, 0x88, 0x33, 0x7A, 0x2E,  // ...0.3z.
                /* 0150 */  0xC0, 0x0E, 0xEB, 0x64, 0x1E, 0x0A, 0x4A, 0x15,  // ...d..J.
                /* 0158 */  0x60, 0xF6, 0x80, 0xA0, 0xD1, 0x25, 0x38, 0x1E,  // `....%8.
                /* 0160 */  0xCF, 0xDC, 0xF3, 0x39, 0xE1, 0x04, 0x96, 0x3F,  // ...9...?
                /* 0168 */  0x08, 0xD4, 0xC8, 0x0C, 0x6D, 0x83, 0xD3, 0xD2,  // ....m...
                /* 0170 */  0xA5, 0xC0, 0x57, 0x00, 0x13, 0x58, 0xEC, 0x91,  // ..W..X..
                /* 0178 */  0x82, 0x8E, 0x07, 0xFC, 0x8A, 0x6F, 0x09, 0x42,  // .....o.B
                /* 0180 */  0x78, 0x73, 0xF0, 0x7C, 0x4D, 0x10, 0x2D, 0x30,  // xs.|M.-0
                /* 0188 */  0x76, 0x40, 0xF6, 0x2B, 0x00, 0x21, 0xF8, 0x4B,  // v@.+.!.K
                /* 0190 */  0xC4, 0x11, 0xBD, 0x27, 0x44, 0x78, 0x9E, 0xF0,  // ...'Dx..
                /* 0198 */  0x90, 0x1E, 0x08, 0x42, 0xC4, 0xEA, 0xF1, 0xDA,  // ...B....
                /* 01A0 */  0x40, 0xCE, 0x09, 0xBE, 0x5F, 0xF8, 0xE8, 0x80,  // @..._...
                /* 01A8 */  0xBB, 0x39, 0x70, 0x02, 0x8B, 0x3C, 0x4A, 0xA0,  // .9p..<J.
                /* 01B0 */  0x47, 0xC1, 0x8F, 0x02, 0x27, 0x71, 0x4C, 0x67,  // G...'qLg
                /* 01B8 */  0x14, 0xFC, 0x98, 0xA2, 0x9C, 0xC8, 0x41, 0xF9,  // ......A.
                /* 01C0 */  0x90, 0x61, 0x84, 0xE8, 0xCF, 0x16, 0xCF, 0x1A,  // .a......
                /* 01C8 */  0xD6, 0x3C, 0x01, 0x9D, 0x1A, 0xCE, 0xEB, 0x8D,  // .<......
                /* 01D0 */  0xC0, 0x63, 0x94, 0x87, 0x33, 0x01, 0x13, 0xBE,  // .c..3...
                /* 01D8 */  0x5C, 0xD9, 0xF8, 0x40, 0xB0, 0x81, 0x92, 0x28,  // \..@...(
                /* 01E0 */  0xE7, 0x04, 0x8D, 0x2A, 0xE6, 0x09, 0x7A, 0x52,  // ...*..zR
                /* 01E8 */  0xC6, 0x3D, 0x25, 0x1C, 0x12, 0xD3, 0x3A, 0x33,  // .=%...:3
                /* 01F0 */  0x82, 0xF4, 0x94, 0xC1, 0x25, 0x43, 0xEB, 0x90,  // ....%C..
                /* 01F8 */  0xC2, 0xC5, 0x52, 0x48, 0x2A, 0x84, 0x86, 0xE5,  // ..RH*...
                /* 0200 */  0x51, 0x58, 0x1C, 0x1C, 0x05, 0xF1, 0x49, 0xC0,  // QX....I.
                /* 0208 */  0xFF, 0xFF, 0xE0, 0x10, 0x72, 0x72, 0x7A, 0x40,  // ....rrz@
                /* 0210 */  0x4F, 0x04, 0x37, 0x0E, 0x7C, 0x40, 0x08, 0x9D,  // O.7.|@..
                /* 0218 */  0x25, 0x7C, 0x7A, 0xC0, 0xE3, 0x1D, 0xE3, 0x29,  // %|z....)
                /* 0220 */  0x7A, 0x26, 0x9E, 0xEC, 0xF3, 0x08, 0x58, 0xE6,  // z&....X.
                /* 0228 */  0xC7, 0x8E, 0x21, 0xEC, 0x44, 0x82, 0x99, 0x0C,  // ..!.D...
                /* 0230 */  0x7E, 0x2C, 0xEC, 0x47, 0x43, 0x87, 0x41, 0x6E,  // ~,.GC.An
                /* 0238 */  0x0A, 0x27, 0x91, 0x80, 0x9F, 0x18, 0xE0, 0xDF,  // .'......
                /* 0240 */  0x46, 0x3C, 0x83, 0x33, 0x79, 0xFF, 0x78, 0x1A,  // F<.3y.x.
                /* 0248 */  0x49, 0x60, 0x81, 0x27, 0x06, 0x50, 0x00, 0xF9,  // I`.'.P..
                /* 0250 */  0x76, 0xE0, 0x4B, 0xCA, 0x13, 0x02, 0x9B, 0x43,  // v.K....C
                /* 0258 */  0x88, 0x30, 0xD1, 0x0C, 0x8F, 0x09, 0x39, 0x2A,  // .0....9*
                /* 0260 */  0x2A, 0x6B, 0x5C, 0xA8, 0xB1, 0xFA, 0x6C, 0xF0,  // *k\...l.
                /* 0268 */  0xAE, 0x63, 0xEC, 0xD3, 0xF4, 0x05, 0xE6, 0x04,  // .c......
                /* 0270 */  0x5F, 0x15, 0x0E, 0xEA, 0xE5, 0xC2, 0xA7, 0x01,  // _.......
                /* 0278 */  0xC3, 0x7A, 0xF4, 0x1C, 0xD6, 0x68, 0x61, 0x0F,  // .z...ha.
                /* 0280 */  0xFA, 0xC1, 0xC2, 0x97, 0x12, 0xCF, 0xCC, 0x18,  // ........
                /* 0288 */  0x61, 0x7D, 0x02, 0x30, 0xFC, 0x13, 0x00, 0x58,  // a}.0...X
                /* 0290 */  0x0E, 0x17, 0x7C, 0xF8, 0x0F, 0x22, 0x0F, 0x17,  // ..|.."..
                /* 0298 */  0xFC, 0xDA, 0x63, 0xA0, 0xB8, 0x6F, 0x01, 0x38,  // ..c..o.8
                /* 02A0 */  0x3C, 0x9F, 0x05, 0x7C, 0xB7, 0x61, 0xF7, 0x00,  // <..|.a..
                /* 02A8 */  0xCC, 0xFF, 0x5F, 0xF6, 0x61, 0x02, 0x64, 0x83,  // .._.a.d.
                /* 02B0 */  0x3E, 0x80, 0x68, 0xE1, 0x03, 0xFA, 0x1E, 0xF2,  // >.h.....
                /* 02B8 */  0x40, 0xC4, 0x0F, 0x13, 0xE0, 0xDE, 0x8E, 0x27,  // @......'
                /* 02C0 */  0x82, 0x1F, 0x08, 0x3E, 0xDE, 0x69, 0x02, 0x14,  // ...>.i..
                /* 02C8 */  0xF7, 0x83, 0x87, 0x25, 0x70, 0x0E, 0x12, 0xD6,  // ...%p...
                /* 02D0 */  0x61, 0x02, 0x70, 0x12, 0xF1, 0x30, 0x01, 0xBA,  // a.p..0..
                /* 02D8 */  0xB3, 0x80, 0x0F, 0x13, 0xE0, 0xF8, 0xFF, 0x1F,  // ........
                /* 02E0 */  0x26, 0x38, 0x88, 0x0F, 0x13, 0x60, 0x3B, 0xF8,  // &8...`;.
                /* 02E8 */  0x60, 0x0E, 0x13, 0xEC, 0x1A, 0x00, 0x06, 0x99,  // `.......
                /* 02F0 */  0x67, 0x09, 0xD4, 0xD9, 0xCD, 0xD2, 0xCF, 0x12,  // g.......
                /* 02F8 */  0x90, 0x6F, 0x42, 0x18, 0xA1, 0x07, 0x09, 0x94,  // .oB.....
                /* 0300 */  0x44, 0x0A, 0x09, 0x3C, 0x48, 0xA0, 0x24, 0xC1,  // D..<H.$.
                /* 0308 */  0x51, 0x10, 0x8F, 0xD6, 0x71, 0x0F, 0x12, 0xE8,  // Q...q...
                /* 0310 */  0x31, 0xFA, 0x7C, 0x04, 0x2F, 0xD8, 0x31, 0x02,  // 1.|./.1.
                /* 0318 */  0x14, 0x07, 0x04, 0xDC, 0x11, 0x0E, 0x8C, 0x67,  // .......g
                /* 0320 */  0x08, 0xC0, 0xD0, 0xFF, 0xFF, 0x0C, 0x01, 0x0E,  // ........
                /* 0328 */  0x58, 0x7E, 0x86, 0x00, 0xA6, 0xD7, 0x26, 0x58,  // X~....&X
                /* 0330 */  0xE7, 0x03, 0x5C, 0xD0, 0xE7, 0x81, 0x09, 0x24,  // ..\....$
                /* 0338 */  0xF7, 0xB8, 0xA0, 0x68, 0x30, 0x28, 0x0B, 0x27,  // ...h0(.'
                /* 0340 */  0x4B, 0x20, 0x8A, 0xEC, 0x93, 0x25, 0xE6, 0xF0,  // K ...%..
                /* 0348 */  0xE0, 0xD1, 0x82, 0xE3, 0x4E, 0xF0, 0x42, 0xE4,  // ....N.B.
                /* 0350 */  0xC1, 0x7B, 0x90, 0x8F, 0x89, 0x21, 0xA2, 0xBC,  // .{...!..
                /* 0358 */  0xB4, 0x19, 0xEF, 0x9D, 0xED, 0x90, 0xE2, 0x1C,  // ........
                /* 0360 */  0xC8, 0x4B, 0x24, 0x0E, 0x2D, 0xD6, 0x11, 0xFB,  // .K$.-...
                /* 0368 */  0x8E, 0xE0, 0xDB, 0xA4, 0x6F, 0x7E, 0x1C, 0x22,  // ....o~."
                /* 0370 */  0xC8, 0x83, 0xA1, 0x4F, 0x92, 0xB0, 0xB1, 0x6B,  // ...O...k
                /* 0378 */  0xBB, 0x07, 0x68, 0x30, 0x41, 0x1E, 0x20, 0x22,  // ..h0A. "
                /* 0380 */  0x04, 0x39, 0x97, 0xA3, 0x0A, 0xF3, 0xF4, 0xF8,  // .9......
                /* 0388 */  0x2E, 0xE9, 0x89, 0x86, 0xF3, 0x49, 0xD2, 0xFF,  // .....I..
                /* 0390 */  0x7F, 0x20, 0x1F, 0x20, 0x5E, 0x25, 0x43, 0xB1,  // . . ^%C.
                /* 0398 */  0x4B, 0x45, 0xC8, 0x17, 0xC9, 0x20, 0xAF, 0x94,  // KE... ..
                /* 03A0 */  0xC1, 0x22, 0x07, 0x0B, 0x13, 0xEF, 0x49, 0x92,  // ."....I.
                /* 03A8 */  0x89, 0x7D, 0x31, 0xE8, 0xC0, 0xEA, 0x93, 0x24,  // .}1....$
                /* 03B0 */  0xC0, 0x0F, 0x91, 0x27, 0x0A, 0x1D, 0x68, 0x70,  // ...'..hp
                /* 03B8 */  0xA3, 0xF0, 0x81, 0xE1, 0xF5, 0x02, 0x23, 0xEA,  // ......#.
                /* 03C0 */  0x64, 0x41, 0x45, 0x9D, 0x47, 0x50, 0x27, 0x09,  // dAE.GP'.
                /* 03C8 */  0x1F, 0x22, 0x18, 0x28, 0x3F, 0xBD, 0x61, 0x06,  // .".(?.a.
                /* 03D0 */  0x06, 0x1F, 0x10, 0xEF, 0x7D, 0xCA, 0xE4, 0x4E,  // ....}..N
                /* 03D8 */  0x62, 0x40, 0x16, 0xE2, 0x58, 0x01, 0xFD, 0xFF,  // b@..X...
                /* 03E0 */  0x7F, 0xAC, 0xE0, 0xD7, 0x87, 0x38, 0x67, 0x71,  // .....8gq
                /* 03E8 */  0x3E, 0x06, 0x3C, 0x8A, 0xD7, 0x12, 0xCC, 0x20,  // >.<.... 
                /* 03F0 */  0xCE, 0xC1, 0x77, 0x96, 0x28, 0xC6, 0x78, 0xF2,  // ..w.(.x.
                /* 03F8 */  0x30, 0x8C, 0x91, 0x0C, 0xEA, 0x93, 0x1C, 0x76,  // 0......v
                /* 0400 */  0x00, 0xEC, 0xFE, 0x6B, 0x88, 0x40, 0xAF, 0x18,  // ...k.@..
                /* 0408 */  0x7C, 0x6C, 0xEC, 0xAC, 0x03, 0xBE, 0x93, 0xE7,  // |l......
                /* 0410 */  0xB3, 0x29, 0x98, 0x6E, 0x2E, 0xB8, 0xF3, 0xC4,  // .).n....
                /* 0418 */  0x43, 0x08, 0x1F, 0x9B, 0x07, 0xE5, 0x89, 0xB2,  // C.......
                /* 0420 */  0xE3, 0x08, 0xE6, 0x74, 0x0A, 0x4C, 0xAE, 0x48,  // ...t.L.H
                /* 0428 */  0x1E, 0x02, 0x3F, 0x68, 0x78, 0x08, 0x7C, 0x00,  // ..?hx.|.
                /* 0430 */  0xAD, 0xCE, 0x92, 0xDC, 0x4E, 0xCE, 0x0D, 0x77,  // ....N..w
                /* 0438 */  0x52, 0xE0, 0x53, 0xC2, 0x0D, 0x00, 0xA3, 0xD0,  // R.S.....
                /* 0440 */  0xA6, 0x4F, 0x8D, 0x46, 0xAD, 0x1A, 0x94, 0xA9,  // .O.F....
                /* 0448 */  0x51, 0xA6, 0x41, 0xAD, 0x3E, 0x95, 0x1A, 0x33,  // Q.A.>..3
                /* 0450 */  0x76, 0x4A, 0xB0, 0xC0, 0x87, 0x85, 0x4E, 0x0E,  // vJ....N.
                /* 0458 */  0x8E, 0x07, 0x42, 0x23, 0x1D, 0x75, 0x64, 0xE4,  // ..B#.ud.
                /* 0460 */  0x44, 0x6A, 0x10, 0x01, 0x59, 0xCA, 0xE9, 0x55,  // Dj..Y..U
                /* 0468 */  0x40, 0x3E, 0xBF, 0x72, 0xC1, 0x26, 0x80, 0x98,  // @>.r.&..
                /* 0470 */  0x7C, 0x10, 0x01, 0x93, 0x47, 0x83, 0x40, 0x2C,  // |...G.@,
                /* 0478 */  0xC8, 0x06, 0x08, 0x13, 0xAD, 0x03, 0x84, 0xFD,  // ........
                /* 0480 */  0xFF, 0x01                                       // ..
            })
        }

        Device (WFTE)
        {
            Name (_HID, "PNP0C14" /* Windows Management Instrumentation Device */)  // _HID: Hardware ID
            Name (_UID, "TestDev")  // _UID: Unique ID
            Name (_WDG, Buffer (0x28)
            {
                /* 0000 */  0x7F, 0xAB, 0x13, 0x1F, 0x20, 0x62, 0x10, 0x42,  // .... b.B
                /* 0008 */  0x8F, 0x8E, 0x8B, 0xB5, 0xE7, 0x1E, 0xE9, 0x69,  // .......i
                /* 0010 */  0x44, 0x45, 0x01, 0x02, 0x21, 0x12, 0x90, 0x05,  // DE..!...
                /* 0018 */  0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0,  // f.......
                /* 0020 */  0xC9, 0x06, 0x29, 0x10, 0x43, 0x43, 0x01, 0x00   // ..).CC..
            })
            Method (WMDE, 3, NotSerialized)
            {
                If ((Arg1 == One))
                {
                    PDAT = Arg2
                    Notify (WFDE, 0xD0) // Hardware-Specific
                    Return (PDAT) /* \_SB_.PDAT */
                }

                Return (Zero)
            }

            Name (WQCC, Buffer (0x02F1)
            {
                /* 0000 */  0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,  // FOMB....
                /* 0008 */  0xE1, 0x02, 0x00, 0x00, 0xC2, 0x06, 0x00, 0x00,  // ........
                /* 0010 */  0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,  // DS...}.T
                /* 0018 */  0xA8, 0x5D, 0x83, 0x00, 0x01, 0x06, 0x18, 0x42,  // .].....B
                /* 0020 */  0x20, 0x14, 0x03, 0x89, 0xC0, 0xA2, 0x69, 0x24,  //  .....i$
                /* 0028 */  0xC7, 0x01, 0x0C, 0x86, 0xCB, 0x72, 0x20, 0xE4,  // .....r .
                /* 0030 */  0x82, 0x89, 0x09, 0x10, 0x01, 0x21, 0xAF, 0x02,  // .....!..
                /* 0038 */  0x6C, 0x0A, 0x30, 0x09, 0xA2, 0xFE, 0xFD, 0x21,  // l.0....!
                /* 0040 */  0x4A, 0x82, 0x43, 0x09, 0x81, 0x90, 0x64, 0x01,  // J.C...d.
                /* 0048 */  0xE6, 0x05, 0xE8, 0x16, 0x60, 0x58, 0x80, 0x6D,  // ....`X.m
                /* 0050 */  0x01, 0xA6, 0x05, 0x38, 0x86, 0xA4, 0xD2, 0xC0,  // ...8....
                /* 0058 */  0x29, 0x81, 0xA5, 0x40, 0x48, 0xB8, 0x00, 0xE5,  // )..@H...
                /* 0060 */  0x02, 0x7C, 0x0B, 0xD0, 0x8E, 0x28, 0xDC, 0x96,  // .|...(..
                /* 0068 */  0x61, 0x44, 0xE0, 0x51, 0x44, 0xB6, 0x50, 0x34,  // aD.QD.P4
                /* 0070 */  0x0A, 0x8D, 0x1D, 0x86, 0x65, 0x82, 0x69, 0x10,  // ....e.i.
                /* 0078 */  0x87, 0x51, 0x36, 0xB2, 0x08, 0x3C, 0xA1, 0x4E,  // .Q6..<.N
                /* 0080 */  0x05, 0xC8, 0x15, 0x20, 0x4C, 0x80, 0x78, 0x54,  // ... L.xT
                /* 0088 */  0x61, 0x34, 0x07, 0x45, 0x20, 0x43, 0x63, 0xC4,  // a4.E Cc.
                /* 0090 */  0x40, 0x48, 0x22, 0xAC, 0x9C, 0x63, 0x6B, 0x14,  // @H"..ck.
                /* 0098 */  0xA7, 0x71, 0x34, 0xA5, 0x63, 0x68, 0x04, 0xC7,  // .q4.ch..
                /* 00A0 */  0x75, 0x40, 0x06, 0xE9, 0x7D, 0x3A, 0x44, 0xD0,  // u@..}:D.
                /* 00A8 */  0x84, 0x34, 0x8A, 0x68, 0x21, 0xA2, 0x04, 0x3D,  // .4.h!..=
                /* 00B0 */  0x8E, 0x20, 0x81, 0x23, 0x24, 0x30, 0xCC, 0x31,  // . .#$0.1
                /* 00B8 */  0x60, 0x64, 0x40, 0xC8, 0xB3, 0x00, 0xEB, 0x83,  // `d@.....
                /* 00C0 */  0x23, 0x04, 0x76, 0x2F, 0xC0, 0x98, 0x00, 0x8D,  // #.v/....
                /* 00C8 */  0x10, 0x72, 0x26, 0xC0, 0xA0, 0x00, 0x85, 0x02,  // .r&.....
                /* 00D0 */  0xBC, 0xC1, 0xC8, 0x96, 0x00, 0x6D, 0x02, 0x94,  // .....m..
                /* 00D8 */  0x21, 0x68, 0x4A, 0x51, 0x0E, 0x2A, 0x48, 0xB8,  // !hJQ.*H.
                /* 00E0 */  0x28, 0x16, 0x87, 0x26, 0x88, 0x16, 0x51, 0x08,  // (..&..Q.
                /* 00E8 */  0x68, 0x84, 0xD6, 0x60, 0x84, 0x1B, 0x2E, 0x46,  // h..`...F
                /* 00F0 */  0x84, 0x93, 0x8B, 0x1C, 0xA2, 0xFD, 0x41, 0x90,  // ......A.
                /* 00F8 */  0x68, 0x47, 0x01, 0x49, 0x00, 0x51, 0xA4, 0xD1,  // hG.I.Q..
                /* 0100 */  0xA0, 0x86, 0x9F, 0xE0, 0x71, 0xC0, 0x47, 0x81,  // ....q.G.
                /* 0108 */  0x93, 0x3B, 0xA9, 0x13, 0x33, 0xC8, 0x89, 0x1D,  // .;..3...
                /* 0110 */  0x5D, 0x9D, 0xE7, 0x00, 0x32, 0x62, 0x86, 0x95,  // ]...2b..
                /* 0118 */  0xE0, 0xD7, 0xC0, 0x07, 0x03, 0xBC, 0x6B, 0x40,  // ......k@
                /* 0120 */  0xDD, 0x08, 0x9E, 0x07, 0xD8, 0x30, 0xC3, 0x61,  // .....0.a
                /* 0128 */  0x86, 0xE8, 0xD1, 0x86, 0xFB, 0xFF, 0x9F, 0xC0,  // ........
                /* 0130 */  0x21, 0x32, 0x40, 0x0F, 0xED, 0x51, 0x00, 0xEB,  // !2@..Q..
                /* 0138 */  0x70, 0x32, 0x3A, 0x07, 0x94, 0x2A, 0xC0, 0xEC,  // p2:..*..
                /* 0140 */  0x99, 0x40, 0x33, 0x4B, 0x70, 0x3C, 0x3E, 0x00,  // .@3Kp<>.
                /* 0148 */  0x78, 0x3E, 0x27, 0x9C, 0xC0, 0xF2, 0x07, 0x81,  // x>'.....
                /* 0150 */  0x1A, 0x99, 0xA1, 0x3D, 0xE3, 0xD3, 0x7A, 0x0F,  // ...=..z.
                /* 0158 */  0xF0, 0xF1, 0xE0, 0xB0, 0x98, 0x58, 0x08, 0x29,  // .....X.)
                /* 0160 */  0x80, 0xD0, 0x78, 0xC0, 0xAF, 0xF8, 0x68, 0x20,  // ..x...h 
                /* 0168 */  0x84, 0x97, 0x05, 0xCF, 0xD7, 0x87, 0x04, 0x03,  // ........
                /* 0170 */  0x63, 0x07, 0x64, 0xBF, 0x02, 0x10, 0x82, 0xBF,  // c.d.....
                /* 0178 */  0x2E, 0x1C, 0xD1, 0x43, 0x43, 0x84, 0x04, 0x2F,  // ...CC../
                /* 0180 */  0x03, 0x47, 0x50, 0x29, 0xBE, 0xB0, 0x0E, 0x21,  // .GP)...!
                /* 0188 */  0x46, 0xA4, 0x18, 0x51, 0x82, 0xD4, 0x0A, 0xA1,  // F..Q....
                /* 0190 */  0xE9, 0x87, 0x49, 0x50, 0xE4, 0xC9, 0x01, 0x3D,  // ..IP...=
                /* 0198 */  0x02, 0x8E, 0x77, 0x02, 0xC7, 0x13, 0xD9, 0xE3,  // ..w.....
                /* 01A0 */  0x89, 0x72, 0x12, 0x07, 0xE4, 0x33, 0x85, 0x11,  // .r...3..
                /* 01A8 */  0x4E, 0xF3, 0x51, 0xE2, 0xD1, 0xC2, 0x9A, 0x67,  // N.Q....g
                /* 01B0 */  0xA4, 0x13, 0xC3, 0x39, 0xBD, 0x0D, 0x98, 0xA0,  // ...9....
                /* 01B8 */  0xB2, 0xE7, 0x80, 0x8E, 0x1F, 0x56, 0x05, 0x22,  // .....V."
                /* 01C0 */  0x1B, 0x4B, 0xF5, 0x39, 0x83, 0x6A, 0x5E, 0xAE,  // .K.9.j^.
                /* 01C8 */  0x46, 0x74, 0xCC, 0xC7, 0xEA, 0x11, 0x9C, 0xB4,  // Ft......
                /* 01D0 */  0xA7, 0x17, 0xD9, 0x4A, 0xC1, 0x04, 0xEC, 0x61,  // ...J...a
                /* 01D8 */  0x5B, 0x23, 0x85, 0xD4, 0xD0, 0x68, 0x3C, 0x06,  // [#...h<.
                /* 01E0 */  0x77, 0xFE, 0x13, 0x09, 0x05, 0x31, 0xA0, 0xC3,  // w....1..
                /* 01E8 */  0x41, 0xC8, 0xC9, 0x49, 0x00, 0xA5, 0x62, 0xBC,  // A..I..b.
                /* 01F0 */  0xE4, 0x68, 0xC1, 0x08, 0xA6, 0x81, 0xD0, 0xDD,  // .h......
                /* 01F8 */  0xC1, 0xF3, 0xF3, 0x3D, 0x80, 0xDF, 0x4C, 0x7C,  // ...=..L|
                /* 0200 */  0x32, 0x30, 0xB0, 0xEF, 0x13, 0x6F, 0x1C, 0xF0,  // 20...o..
                /* 0208 */  0xFF, 0xFF, 0x37, 0x0E, 0x36, 0x09, 0x8C, 0x9A,  // ..7.6...
                /* 0210 */  0x23, 0x04, 0x9D, 0x02, 0xBF, 0x00, 0xBC, 0x0A,  // #.......
                /* 0218 */  0x98, 0xC0, 0xBA, 0x2E, 0x06, 0xD0, 0x4F, 0x1D,  // ......O.
                /* 0220 */  0x1E, 0xA8, 0xAF, 0x1C, 0x67, 0x63, 0x7D, 0x07,  // ....gc}.
                /* 0228 */  0x03, 0x50, 0x00, 0xF9, 0x22, 0xE0, 0x93, 0xC1,  // .P.."...
                /* 0230 */  0xC3, 0x00, 0xBB, 0x19, 0x18, 0x26, 0x9A, 0xD1,  // .....&..
                /* 0238 */  0xB9, 0xA8, 0x69, 0xA3, 0x64, 0xC0, 0x68, 0xDA,  // ..i.d.h.
                /* 0240 */  0x06, 0xF1, 0xB4, 0x1D, 0x71, 0xDA, 0x68, 0x68,  // ....q.hh
                /* 0248 */  0x5F, 0x05, 0x7C, 0x11, 0x70, 0xA8, 0x61, 0xD3,  // _.|.p.a.
                /* 0250 */  0x3B, 0x07, 0x7E, 0xAE, 0x67, 0x16, 0xD0, 0x93,  // ;.~.g...
                /* 0258 */  0xF0, 0x91, 0xE4, 0xB8, 0xC1, 0x32, 0x0A, 0x06,  // .....2..
                /* 0260 */  0x1E, 0x24, 0x8E, 0x47, 0xC1, 0x26, 0xCE, 0x07,  // .$.G.&..
                /* 0268 */  0xE0, 0x89, 0xF3, 0x71, 0xF9, 0x86, 0x01, 0x7F,  // ...q....
                /* 0270 */  0xE4, 0x58, 0x82, 0x02, 0x67, 0x0E, 0x72, 0x78,  // .X..g.rx
                /* 0278 */  0x4C, 0xB0, 0x51, 0x51, 0x59, 0xE3, 0x42, 0x8D,  // L.QQY.B.
                /* 0280 */  0xD2, 0x57, 0x20, 0x86, 0x7D, 0x82, 0x16, 0x3D,  // .W .}..=
                /* 0288 */  0x48, 0x9D, 0x2F, 0x0E, 0xEA, 0x69, 0xC4, 0x63,  // H./..i.c
                /* 0290 */  0x33, 0xAC, 0xC7, 0xFD, 0xFF, 0x0F, 0x8B, 0x41,  // 3......A
                /* 0298 */  0x0B, 0x7B, 0xB8, 0x2F, 0x22, 0x3E, 0xC5, 0x78,  // .{./">.x
                /* 02A0 */  0x66, 0xC6, 0x08, 0xEB, 0xB1, 0x7B, 0x40, 0x8F,  // f....{@.
                /* 02A8 */  0x10, 0xE0, 0x01, 0x7B, 0x35, 0x39, 0xD3, 0x07,  // ...{59..
                /* 02B0 */  0x97, 0x3F, 0x8E, 0xEA, 0x20, 0x74, 0xDF, 0xE0,  // .?.. t..
                /* 02B8 */  0x28, 0x21, 0x1E, 0x38, 0x30, 0x04, 0x15, 0xDA,  // (!.80...
                /* 02C0 */  0xF4, 0xA9, 0xD1, 0xA8, 0x55, 0x83, 0x32, 0x35,  // ....U.25
                /* 02C8 */  0xCA, 0x34, 0xA8, 0xD5, 0xA7, 0x52, 0x63, 0xC6,  // .4...Rc.
                /* 02D0 */  0x3C, 0x5C, 0x8E, 0xE8, 0x41, 0x81, 0xBC, 0x13,  // <\..A...
                /* 02D8 */  0x34, 0x42, 0x87, 0x00, 0xA1, 0x42, 0x9E, 0x08,  // 4B...B..
                /* 02E0 */  0x32, 0x72, 0x0F, 0x31, 0x88, 0x80, 0xAC, 0xCC,  // 2r.1....
                /* 02E8 */  0x02, 0x10, 0xD3, 0x09, 0x22, 0x20, 0xFF, 0xFF,  // ...." ..
                /* 02F0 */  0x01                                             // .
            })
        }

        Method (USSV, 1, Serialized)
        {
            PDAT = Arg0
        }

        Method (GSSV, 0, Serialized)
        {
            Return (PDAT) /* \_SB_.PDAT */
        }
    }

    Scope (_SB.PC00.RP01.PXSX)
    {
        Name (PERN, "RP01")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC00.RP02.PXSX)
    {
        Name (PERN, "RP02")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC00.RP03.PXSX)
    {
        Name (PERN, "RP03")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC00.RP04.PXSX)
    {
        Name (PERN, "RP04")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC00.RP05.PXSX)
    {
        Name (PERN, "RP05")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC00.RP06.PXSX)
    {
        Name (PERN, "RP06")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC00.RP07.PXSX)
    {
        Name (PERN, "RP07")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC00.RP08.PXSX)
    {
        Name (PERN, "RP08")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC00.RP09.PXSX)
    {
        Name (PERN, "RP09")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC00.RP10.PXSX)
    {
        Name (PERN, "RP10")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC00.RP11.PXSX)
    {
        Name (PERN, "RP11")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC00.RP12.PXSX)
    {
        Name (PERN, "RP12")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB)
    {
        Device (PEPD)
        {
            Name (DEVC, Zero)
            Name (DEVS, Zero)
            Name (IPDI, Zero)
            Name (_HID, "INT33A1" /* Intel Power Engine */)  // _HID: Hardware ID
            Name (_CID, EisaId ("PNP0D80") /* Windows-compatible System Power Management Controller */)  // _CID: Compatible ID
            Name (_UID, One)  // _UID: Unique ID
            Name (PCP0, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0xFF, 
                    Zero
                }
            })
            Name (PCP1, Package (0x02)
            {
                Zero, 
                Package (0x03)
                {
                    0xFF, 
                    Zero, 
                    0x81
                }
            })
            Name (PCP2, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0xFF, 
                    0x02
                }
            })
            Name (PCP3, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0xFF, 
                    0x03
                }
            })
            Name (DEVY, Package (0x78)
            {
                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }
            })
            Method (UPDE, 4, NotSerialized)
            {
                If ((DEVC < DEVS))
                {
                    If ((SizeOf (Arg1) != Zero))
                    {
                        Local0 = Concatenate (Concatenate (Arg0, "."), Arg1)
                    }
                    Else
                    {
                        Local0 = Arg0
                    }

                    DerefOf (DEVY [DEVC]) [Zero] = Local0
                    If ((Arg0 == "Reserved"))
                    {
                        DEVC++
                        Return (Zero)
                    }

                    DerefOf (DEVY [DEVC]) [One] = Arg2
                    If ((Arg3 == Zero))
                    {
                        DerefOf (DEVY [DEVC]) [0x02] = PCP0 /* \_SB_.PEPD.PCP0 */
                    }
                    ElseIf ((Arg3 == One))
                    {
                        DerefOf (DEVY [DEVC]) [0x02] = PCP1 /* \_SB_.PEPD.PCP1 */
                    }
                    ElseIf ((Arg3 == 0x02))
                    {
                        DerefOf (DEVY [DEVC]) [0x02] = PCP2 /* \_SB_.PEPD.PCP2 */
                    }
                    ElseIf ((Arg3 == 0x03))
                    {
                        DerefOf (DEVY [DEVC]) [0x02] = PCP3 /* \_SB_.PEPD.PCP3 */
                    }
                    Else
                    {
                        ADBG ("PEP Error !!! Unknown D- state constraint is passed..")
                    }

                    ADBG (Concatenate ("DEVY entry index :", ToDecimalString (DEVC)))
                    ADBG (Concatenate ("Device Descriptor                  :", DerefOf (DerefOf (DEVY [DEVC]) [Zero])
                        ))
                    ADBG (Concatenate ("Constraint (Enable/Disable)        :", DerefOf (DerefOf (DEVY [DEVC]) [One])
                        ))
                    ADBG (Concatenate ("Constraint applied (D0/D0F1/D2/D3) :", Arg3))
                    ADBG ("------------ ")
                    ADBG ("")
                    DEVC++
                }
                Else
                {
                    ADBG (Concatenate ("PEP UPDE Error!!!! DEVY size is excedded, DEVY size = ", ToDecimalString (DEVS)))
                }
            }

            Method (UPPR, 4, Serialized)
            {
                If (CondRefOf (Arg0))
                {
                    Local0 = GRPC (Arg1)
                    If ((Local0 != Zero))
                    {
                        UPDE (Arg2, Arg3, One, Local0)
                    }
                    Else
                    {
                        UPDE (Arg2, Arg3, Zero, Local0)
                    }
                }
            }

            Method (GUCP, 2, Serialized)
            {
                If (((PEPC & Arg0) == Arg0))
                {
                    If (((PEPC & (Arg1 | Arg0)) == (Arg1 | Arg0
                        )))
                    {
                        ADBG ("D3 F0 constraint")
                        Return (0x03)
                    }
                    Else
                    {
                        ADBG ("D0 F1 constraint")
                        Return (One)
                    }
                }
                Else
                {
                    ADBG ("No constraint")
                    Return (Zero)
                }
            }

            Method (GRPC, 1, Serialized)
            {
                If ((Arg0 == One))
                {
                    ADBG ("PCIE Storage PEP")
                    Return (GUCP (0x40000000, 0x80000000))
                }

                If ((Arg0 == 0x02))
                {
                    ADBG ("PCIE LAN PEP")
                    Return (GUCP (0x0000000100000000, 0x0000000200000000))
                }

                If ((Arg0 == 0x03))
                {
                    ADBG ("PCIE WLAN PEP")
                    Return (GUCP (0x0000000400000000, 0x0000000800000000))
                }

                If ((Arg0 == 0x04))
                {
                    ADBG ("PCIE Graphics PEP")
                    Return (GUCP (0x0000001000000000, 0x0000002000000000))
                }

                If ((Arg0 == 0x05))
                {
                    ADBG ("PCH PCIE DTBT PEP")
                    Return (GUCP (0x00400000, 0x00400000))
                }

                If ((Arg0 == 0x06))
                {
                    ADBG ("PCIE WWAN PEP")
                    If ((WRTO == 0x03))
                    {
                        ADBG ("PEP Constraint = D3")
                        Return (0x03)
                    }
                    ElseIf ((WRTO == 0x02))
                    {
                        ADBG ("PEP Constraint = D0")
                        Return (One)
                    }
                    Else
                    {
                        ADBG ("PEP Constraint = no constraint")
                        Return (Zero)
                    }
                }

                If ((Arg0 == Zero))
                {
                    ADBG ("PCIE Others")
                    Return (GUCP (0x0000004000000000, 0x0000008000000000))
                }

                ADBG ("PCIE EP NOT present")
                Return (Zero)
            }

            Method (SPDE, 0, Serialized)
            {
                If (!ESPC)
                {
                    Return (Zero)
                }

                If (CondRefOf (\_SB.PC00.SAT0))
                {
                    UPDE ("\\_SB.PC00", "SAT0.PRT0", ^^PC00.SAT0.PRT0.PRES (), 0x03)
                    UPDE ("\\_SB.PC00", "SAT0.PRT1", ^^PC00.SAT0.PRT1.PRES (), 0x03)
                    UPDE ("\\_SB.PC00", "SAT0.PRT2", ^^PC00.SAT0.PRT2.PRES (), 0x03)
                    UPDE ("\\_SB.PC00", "SAT0.PRT3", ^^PC00.SAT0.PRT3.PRES (), 0x03)
                    UPDE ("\\_SB.PC00", "SAT0.PRT4", ^^PC00.SAT0.PRT4.PRES (), 0x03)
                    UPDE ("\\_SB.PC00", "SAT0.PRT5", ^^PC00.SAT0.PRT5.PRES (), 0x03)
                    UPDE ("\\_SB.PC00", "SAT0.PRT6", ^^PC00.SAT0.PRT6.PRES (), 0x03)
                    UPDE ("\\_SB.PC00", "SAT0.PRT7", ^^PC00.SAT0.PRT7.PRES (), 0x03)
                }
            }

            Method (UPDV, 0, Serialized)
            {
                DEVS = SizeOf (DEVY)
                ADBG (Concatenate ("PEP DEVY size = ", ToDecimalString (DEVS)))
                SPDE ()
                If ((((PEPC & 0x10000000) >> 0x1C) == One))
                {
                    If ((((PEPC & 0x30000000) >> 0x1C) == One))
                    {
                        UPDE ("\\_SB.PC00", "SAT0", ((PEPC & 0x10000000) >> 0x1C), One)
                    }
                    ElseIf ((((PEPC & 0x30000000) >> 0x1C) == 0x03))
                    {
                        UPDE ("\\_SB.PC00", "SAT0", ((PEPC & 0x10000000) >> 0x1C), 0x03)
                    }
                }
                ElseIf ((((PEPC & 0x30000000) >> 0x1C) == 0x02))
                {
                    UPDE ("\\_SB.PC00", "SAT0.VOL0", One, One)
                }

                ADBG (Concatenate ("Pep TCNT : ", ToHexString (TCNT)))
                Local0 = Zero
                While ((Local0 < TCNT))
                {
                    If ((Local0 < 0x0A))
                    {
                        Concatenate ("PR0", Local0, Local1)
                    }
                    Else
                    {
                        Concatenate ("PR", ToDecimalString (Local0), Local1)
                    }

                    If (((PEPC & 0x00010000) == Zero))
                    {
                        UPDE ("\\_SB", Local1, Zero, Zero)
                    }
                    Else
                    {
                        UPDE ("\\_SB", Local1, One, Zero)
                    }

                    Local0 += One
                }

                UPDE ("\\_SB.PC00", "GFX0", ((PEPC & 0x8000) >> 0x0F), 0x03)
                UPDE ("\\_SB.PC00", "HDAS", One, GUCP (0x04000000, 0x08000000))
                UPDE ("\\_SB.PC00", "UA00", ((PEPC & One) >> Zero), 0x03)
                UPDE ("\\_SB.PC00", "UA01", ((PEPC & 0x02) >> One), 0x03)
                UPDE ("\\_SB.PC00", "UA02", ((PEPC & 0x04) >> 0x02), 0x03)
                UPDE ("\\_SB.PC00", "I2C0", ((PEPC & 0x08) >> 0x03), 0x03)
                UPDE ("\\_SB.PC00", "I2C1", ((PEPC & 0x10) >> 0x04), 0x03)
                UPDE ("\\_SB.PC00", "I2C2", ((PEPC & 0x20) >> 0x05), 0x03)
                UPDE ("\\_SB.PC00", "I2C3", ((PEPC & 0x40) >> 0x06), 0x03)
                UPDE ("\\_SB.PC00", "I2C4", ((PEPC & 0x80) >> 0x07), 0x03)
                UPDE ("\\_SB.PC00", "I2C5", ((PEPC & 0x0100) >> 0x08), 0x03)
                UPDE ("\\_SB.PC00", "I2C6", ((PEPC & 0x0200) >> 0x09), 0x03)
                UPDE ("\\_SB.PC00", "I2C7", ((PEPC & 0x0400) >> 0x0A), 0x03)
                UPDE ("\\_SB.PC00", "SPI0", ((PEPC & 0x0800) >> 0x0B), 0x03)
                UPDE ("\\_SB.PC00", "SPI1", ((PEPC & 0x1000) >> 0x0C), 0x03)
                UPDE ("\\_SB.PC00", "SPI2", ((PEPC & 0x2000) >> 0x0D), 0x03)
                UPDE ("\\_SB.PC00", "XHCI", ((PEPC & 0x4000) >> 0x0E), 0x03)
                UPDE ("\\_SB.PC00", "PEMC", ((PEPC & 0x0000010000000000) >> 0x28), 0x03)
                UPDE ("\\_SB.PC00", "PSDC", ((PEPC & 0x0000020000000000) >> 0x29), 0x03)
                UPDE ("\\_SB.PC00", "IPU0", ((PEPC & 0x00020000) >> 0x11), 0x03)
                UPDE ("\\_SB.PC00", "HECI", ((PEPC & 0x00040000) >> 0x12), One)
                If (((((PEPC & 0x00080000) >> 0x13) == Zero) || (
                    GBES == Zero)))
                {
                    UPDE ("\\_SB.PC00", "GLAN", Zero, 0x03)
                }
                Else
                {
                    UPDE ("\\_SB.PC00", "GLAN", One, 0x03)
                }

                UPDE ("\\_SB.PC00", "THC0", ((PEPC & 0x00100000) >> 0x14), 0x03)
                UPDE ("\\_SB.PC00", "THC1", ((PEPC & 0x00200000) >> 0x15), 0x03)
                If ((WRTO == One))
                {
                    UPDE ("USB\\VID_8087&PID_0AC9&MI*", "", One, WRTO)
                    ADBG ("PEP Constraint for CDC MBIM = D0F1")
                }
                Else
                {
                    UPDE ("USB\\VID_8087&PID_0AC9&MI*", "", Zero, 0x02)
                }

                UPDE ("\\_SB.PC00", "GNA0", ((PEPC & 0x00800000) >> 0x17), 0x03)
                If (CondRefOf (\_SB.PC00.HEC3))
                {
                    ADBG ("HECI3 PEP")
                    UPDE ("\\_SB.PC00", "HEC3", ((PEPC & 0x02000000) >> 0x19), One)
                }

                UPDE ("\\_SB.PC00", "PUF0", ((PEPC & 0x0000080000000000) >> 0x2B), 0x03)
                UPDE ("\\_SB.PC00", "PUF1", ((PEPC & 0x0000100000000000) >> 0x2C), 0x03)
                UPDE ("\\_SB.PC00", "VPU0", ((PEPC & 0x0000040000000000) >> 0x2A), 0x03)
                If (((PEPC & 0x00400000) != Zero))
                {
                    If ((THCE == One))
                    {
                        UPDE ("\\_SB.PC00", "TXHC", One, 0x03)
                    }
                    Else
                    {
                        UPDE ("\\_SB.PC00", "TXHC", Zero, 0x03)
                    }

                    If ((TDCE == One))
                    {
                        UPDE ("\\_SB.PC00", "TXDC", One, 0x03)
                    }
                    Else
                    {
                        UPDE ("\\_SB.PC00", "TXDC", Zero, 0x03)
                    }

                    UPDE ("\\_SB.PC00", "TRP0", TRE0, 0x03)
                    UPDE ("\\_SB.PC00", "TRP1", TRE1, 0x03)
                    UPDE ("\\_SB.PC00", "TRP2", TRE2, 0x03)
                    UPDE ("\\_SB.PC00", "TRP3", TRE3, 0x03)
                    UPDE ("\\_SB.PC00", "TDM0", DME0, 0x03)
                    UPDE ("\\_SB.PC00", "TDM1", DME1, 0x03)
                }
                Else
                {
                    UPDE ("\\_SB.PC00", "TXHC", Zero, 0x03)
                    UPDE ("\\_SB.PC00", "TXDC", Zero, 0x03)
                    UPDE ("\\_SB.PC00", "TRP0", Zero, 0x03)
                    UPDE ("\\_SB.PC00", "TRP1", Zero, 0x03)
                    UPDE ("\\_SB.PC00", "TRP2", Zero, 0x03)
                    UPDE ("\\_SB.PC00", "TRP3", Zero, 0x03)
                    UPDE ("\\_SB.PC00", "TDM0", Zero, 0x03)
                    UPDE ("\\_SB.PC00", "TDM1", Zero, 0x03)
                }

                UPDE ("\\_SB.PC01", "TRP0", Zero, Zero)
                UPDE ("\\_SB.PC01", "TRP1", Zero, Zero)
                UPDE ("\\_SB.PC01", "TRP2", Zero, Zero)
                UPDE ("\\_SB.PC01", "TRP3", Zero, Zero)
                UPPR (^^PC00.RP01, ^^PC00.RP01.PXSX.GRPT (), "\\_SB.PC00", "RP01")
                UPPR (^^PC00.RP02, ^^PC00.RP02.PXSX.GRPT (), "\\_SB.PC00", "RP02")
                UPPR (^^PC00.RP03, ^^PC00.RP03.PXSX.GRPT (), "\\_SB.PC00", "RP03")
                UPPR (^^PC00.RP04, ^^PC00.RP04.PXSX.GRPT (), "\\_SB.PC00", "RP04")
                UPPR (^^PC00.RP05, ^^PC00.RP05.PXSX.GRPT (), "\\_SB.PC00", "RP05")
                UPPR (^^PC00.RP06, ^^PC00.RP06.PXSX.GRPT (), "\\_SB.PC00", "RP06")
                UPPR (^^PC00.RP07, ^^PC00.RP07.PXSX.GRPT (), "\\_SB.PC00", "RP07")
                UPPR (^^PC00.RP08, ^^PC00.RP08.PXSX.GRPT (), "\\_SB.PC00", "RP08")
                UPPR (^^PC00.RP09, ^^PC00.RP09.PXSX.GRPT (), "\\_SB.PC00", "RP09")
                UPPR (^^PC00.RP10, ^^PC00.RP10.PXSX.GRPT (), "\\_SB.PC00", "RP10")
                UPPR (^^PC00.RP11, ^^PC00.RP11.PXSX.GRPT (), "\\_SB.PC00", "RP11")
                UPPR (^^PC00.RP12, ^^PC00.RP12.PXSX.GRPT (), "\\_SB.PC00", "RP12")
                If (CondRefOf (\_SB.PC00.CNVW.VDID))
                {
                    If ((^^PC00.CNVW.VDID != 0xFFFFFFFF))
                    {
                        ADBG ("CNVi- WiFI PEP")
                        UPDE ("\\_SB.PC00", "CNVW", One, 0x03)
                    }
                }

                Local0 = DEVC /* \_SB_.PEPD.DEVC */
                While ((Local0 < DEVS))
                {
                    UPDE ("Reserved", ToDecimalString (Local0), Zero, Zero)
                    Local0 += One
                }

                DEVC = Zero
                ADBG ("[PEP] All Pep Constraints are updated ")
            }

            Name (BCCD, Package (0x00){})
            Name (DSDV, Package (0x02)
            {
                ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                Package (0x01)
                {
                    Package (0x02)
                    {
                        "intel-cec-pson-switching-enabled-in-s0", 
                        Zero
                    }
                }
            })
            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                Local0 = Zero
                While ((Local0 < SizeOf (DSDV)))
                {
                    If ((DerefOf (DSDV [Local0]) != ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */))
                    {
                        Continue
                    }

                    Local1 = DerefOf (DSDV [(Local0 + One)])
                    Local2 = Zero
                    While ((Local2 < SizeOf (Local1)))
                    {
                        Local3 = DerefOf (Local1 [Local2])
                        If ((("intel-cec-pson-switching-enabled-in-s0" == DerefOf (Local3 [Zero])) && PSON))
                        {
                            ADBG ("PEPD: Storing 1 in DSDV Object")
                            DerefOf (DerefOf (DSDV [(Local0 + One)]) [
                                Local2]) [One] = One
                        }

                        Local2++
                    }

                    Local0 += 0x02
                }

                Return (DSDV) /* \_SB_.PEPD.DSDV */
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((S0ID == One))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                ADBG (Concatenate ("PEPC = ", ToHexString (PEPC)))
                If ((Arg0 == ToUUID ("11e00d56-ce64-47ce-837b-1f898f9aa461") /* Unknown UUID */))
                {
                    If ((Arg2 == Zero))
                    {
                        Return (Buffer (0x02)
                        {
                             0x81, 0x01                                       // ..
                        })
                    }

                    If ((Arg2 == 0x07))
                    {
                        If ((PFLV == 0x02))
                        {
                            If (CondRefOf (ECON))
                            {
                                If ((ECON == One))
                                {
                                    If ((PPOE == One))
                                    {
                                        If (CondRefOf (\_SB.PC00.LPCB.NRTS))
                                        {
                                            ^^PC00.LPCB.NRTS (Zero)
                                        }
                                    }
                                }
                            }
                        }
                    }

                    If ((Arg2 == 0x08))
                    {
                        If ((PFLV == 0x02))
                        {
                            If (CondRefOf (ECON))
                            {
                                If ((ECON == One))
                                {
                                    If ((PPOE == One))
                                    {
                                        If (CondRefOf (\_SB.PC00.LPCB.NRTS))
                                        {
                                            ^^PC00.LPCB.NRTS (One)
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                If ((Arg0 == ToUUID ("c4eb40a0-6cd2-11e2-bcfd-0800200c9a66") /* Unknown UUID */))
                {
                    If ((Arg2 == Zero))
                    {
                        Return (Buffer (One)
                        {
                             0x7F                                             // .
                        })
                    }

                    If ((Arg2 == One))
                    {
                        If ((S0ID == Zero))
                        {
                            Return (Package (0x00){})
                        }

                        If ((IPDI == Zero))
                        {
                            UPDV ()
                            IPDI = One
                        }
                        Else
                        {
                            ADBG ("PEP DEVY is already initialized !!! ")
                        }

                        Return (DEVY) /* \_SB_.PEPD.DEVY */
                    }

                    If ((Arg2 == 0x02))
                    {
                        Return (BCCD) /* \_SB_.PEPD.BCCD */
                    }

                    If ((Arg2 == 0x03))
                    {
                        If (CondRefOf (\_SB.PC00.IMNG))
                        {
                            ^^PC00.IMNG (Arg2)
                        }

                        If ((S0ID == One))
                        {
                            D8XH (Zero, 0xC5)
                            D8XH (One, Zero)
                        }
                    }

                    If ((Arg2 == 0x04))
                    {
                        If (CondRefOf (\_SB.PC00.IMNG))
                        {
                            ^^PC00.IMNG (Arg2)
                        }

                        If ((S0ID == One))
                        {
                            D8XH (Zero, 0xC5)
                            D8XH (One, 0xAB)
                            ^^PC00.LPCB.Q_EC.ENEX = 0x5E
                        }
                    }

                    Local0 = Zero
                    If ((Arg2 == 0x05))
                    {
                        ADBG ("[PEP] deep standby entry")
                        If ((S0ID == One))
                        {
                            GUAM (One)
                            ^^PC00.LPCB.Q_EC.ENEX = 0x5D
                        }

                        If (CondRefOf (\_SB.PC00.TXHC))
                        {
                            If (CondRefOf (\_SB.PC00.TDM0))
                            {
                                If ((^^PC00.TDM0._STA == 0x0F))
                                {
                                    If ((^^PC00.TDM0.SCME == Zero))
                                    {
                                        Local0 = One
                                        ADBG (Concatenate ("TDM0 set DPOF to ", ToHexString (Local0)))
                                    }
                                }
                            }

                            If (CondRefOf (\_SB.PC00.TDM1))
                            {
                                If ((^^PC00.TDM1._STA == 0x0F))
                                {
                                    If ((^^PC00.TDM1.SCME == Zero))
                                    {
                                        Local0 = One
                                        ADBG (Concatenate ("TDM1 set DPOF to ", ToHexString (Local0)))
                                    }
                                }
                            }

                            If ((Local0 == One))
                            {
                                ^^PC00.DPOF = One
                            }

                            ADBG (Concatenate ("All Monitor off flag: ", ToHexString (^^PC00.DPOF)))
                            If (CondRefOf (\GPRV))
                            {
                                ADBG ("[PEP] allow PS_ON")
                                GPRV (0x03, Zero)
                            }
                        }

                        If (((^^PC00.LPCB.Q_EC.WOUB == Zero) && (^^PC00.XHCI.PMEE == One)))
                        {
                            ^^PC00.XHCI.PMEE = Zero
                        }
                    }

                    If ((Arg2 == 0x06))
                    {
                        ADBG ("[PEP] deep standby exit")
                        If ((S0ID == One))
                        {
                            GUAM (Zero)
                        }

                        If (CondRefOf (\_SB.PC00.TXHC))
                        {
                            ^^PC00.DPOF = Zero
                        }

                        If (CondRefOf (\GPRV))
                        {
                            ADBG ("[PEP] veto PS_ON")
                            GPRV (0x03, One)
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Device (PSM)
    {
        Name (_HID, EisaId ("INT3420") /* Intel Bluetooth RF Kill */)  // _HID: Hardware ID
        Name (_UID, Zero)  // _UID: Unique ID
        Name (_STR, Unicode ("Power Sharing Manager"))  // _STR: Description String
        Method (_STA, 0, NotSerialized)  // _STA: Status
        {
            If ((PSME == One))
            {
                Return (0x0F)
            }
            Else
            {
                Return (Zero)
            }
        }

        Name (SPLX, Package (0x02)
        {
            Zero, 
            Package (0x03)
            {
                0x80000000, 
                0x80000000, 
                0x80000000
            }
        })
        Method (SPLC, 0, Serialized)
        {
            DerefOf (SPLX [One]) [Zero] = PDT1 /* \PDT1 */
            DerefOf (SPLX [One]) [One] = PLM1 /* \PLM1 */
            DerefOf (SPLX [One]) [0x02] = PTW1 /* \PTW1 */
            Return (SPLX) /* \PSM_.SPLX */
        }

        Name (DPLX, Package (0x02)
        {
            Zero, 
            Package (0x03)
            {
                0x80000000, 
                0x80000000, 
                Package (0x06)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000, 
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            }
        })
        Method (DPLC, 0, Serialized)
        {
            DerefOf (DPLX [One]) [Zero] = DDT1 /* \DDT1 */
            DerefOf (DPLX [One]) [One] = DDP1 /* \DDP1 */
            DerefOf (DerefOf (DPLX [One]) [0x02]) [Zero]
                 = DLI1 /* \DLI1 */
            DerefOf (DerefOf (DPLX [One]) [0x02]) [One]
                 = DPL1 /* \DPL1 */
            DerefOf (DerefOf (DPLX [One]) [0x02]) [0x02]
                 = DTW1 /* \DTW1 */
            DerefOf (DerefOf (DPLX [One]) [0x02]) [0x03]
                 = DMI1 /* \DMI1 */
            DerefOf (DerefOf (DPLX [One]) [0x02]) [0x04]
                 = DMA1 /* \DMA1 */
            DerefOf (DerefOf (DPLX [One]) [0x02]) [0x05]
                 = DMT1 /* \DMT1 */
            Return (DPLX) /* \PSM_.DPLX */
        }
    }

    Scope (_SB)
    {
        Method (WFRK, 1, Serialized)
        {
            If ((DWFK != Zero))
            {
                SGOV (DWFK, Arg0)
            }
        }

        Method (BTRK, 1, Serialized)
        {
            If ((GBTK != Zero))
            {
                SGOV (GBTK, Arg0)
            }
        }

        Method (GBTR, 0, NotSerialized)
        {
            Return (GGOV (GBTK))
        }
    }

    If ((CRFP == One))
    {
        If ((CWFC == One))
        {
            Scope (_SB.PC00.CNVW)
            {
                Name (SPLX, Package (0x02)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (SPLC, 0, Serialized)
                {
                    DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                    DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                    DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                    Return (SPLX) /* \_SB_.PC00.CNVW.SPLX */
                }

                Name (WANX, Package (0x03)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }, 

                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (WAND, 0, Serialized)
                {
                    DerefOf (WANX [One]) [Zero] = Zero
                    DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                    DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                    DerefOf (WANX [0x02]) [Zero] = One
                    DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                    DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                    Return (WANX) /* \_SB_.PC00.CNVW.WANX */
                }

                Name (WRDX, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x80000000, 
                        0x8000
                    }
                })
                Method (WRDD, 0, Serialized)
                {
                    DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                    DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                    Return (WRDX) /* \_SB_.PC00.CNVW.WRDX */
                }

                Name (WRDY, Package (0x02)
                {
                    0x02, 
                    Package (0x2E)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WRDS, 0, Serialized)
                {
                    DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                    DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                    DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                    DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                    DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                    DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                    DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                    DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                    DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                    DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                    DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                    DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                    DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                    DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                    DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                    DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                    DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                    DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                    DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                    DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                    DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                    DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                    DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                    DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                    DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                    DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                    DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                    DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                    DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                    DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                    DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                    DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                    DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                    DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                    DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                    DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                    DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                    DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                    DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                    DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                    DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                    DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                    DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                    DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                    DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                    Return (WRDY) /* \_SB_.PC00.CNVW.WRDY */
                }

                Name (EWRY, Package (0x02)
                {
                    0x02, 
                    Package (0x87)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (EWRD, 0, Serialized)
                {
                    DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                    DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                    DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                    DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                    DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                    DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                    DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                    DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                    DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                    DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                    DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                    DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                    DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                    DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                    DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                    DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                    DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                    DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                    DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                    DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                    DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                    DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                    DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                    DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                    DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                    DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                    DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                    DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                    DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                    DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                    DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                    DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                    DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                    DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                    DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                    DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                    DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                    DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                    DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                    DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                    DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                    DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                    DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                    DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                    DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                    DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                    DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                    DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                    DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                    DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                    DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                    DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                    DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                    DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                    DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                    DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                    DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                    DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                    DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                    DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                    DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                    DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                    DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                    DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                    DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                    DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                    DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                    DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                    DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                    DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                    DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                    DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                    DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                    DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                    DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                    DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                    DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                    DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                    DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                    DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                    DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                    DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                    DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                    DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                    DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                    DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                    DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                    DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                    DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                    DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                    DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                    DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                    DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                    DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                    DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                    DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                    DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                    DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                    DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                    DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                    DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                    DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                    DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                    DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                    DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                    DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                    DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                    DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                    DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                    DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                    DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                    DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                    DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                    DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                    DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                    DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                    DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                    DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                    DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                    DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                    DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                    DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                    DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                    DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                    DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                    DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                    DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                    DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                    DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                    DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                    DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                    DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                    DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                    DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                    Return (EWRY) /* \_SB_.PC00.CNVW.EWRY */
                }

                Name (WGDY, Package (0x02)
                {
                    0x03, 
                    Package (0x4A)
                    {
                        0x07, 
                        0x03, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WGDS, 0, Serialized)
                {
                    DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                    DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                    DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                    DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                    DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                    DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                    DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                    DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                    DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                    DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                    DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                    DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                    DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                    DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                    DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                    DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                    DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                    DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                    DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                    DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                    DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                    DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                    DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                    DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                    DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                    DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                    DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                    DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                    DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                    DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                    DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                    DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                    DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                    DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                    DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                    DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                    DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                    DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                    DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                    DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                    DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                    DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                    DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                    DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                    DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                    DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                    DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                    DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                    DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                    DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                    DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                    DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                    DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                    DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                    DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                    DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                    DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                    DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                    DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                    DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                    DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                    DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                    DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                    DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                    DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                    DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                    DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                    DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                    DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                    DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                    DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                    DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                    DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                    Return (WGDY) /* \_SB_.PC00.CNVW.WGDY */
                }

                Name (ECKY, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }
                })
                Method (ECKV, 0, Serialized)
                {
                    DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                    Return (ECKY) /* \_SB_.PC00.CNVW.ECKY */
                }

                Name (PPAY, Package (0x02)
                {
                    0x02, 
                    Package (0x18)
                    {
                        0x07, 
                        Zero, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28
                    }
                })
                Method (PPAG, 0, Serialized)
                {
                    DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                    DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                    DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                    DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                    DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                    DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                    DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                    DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                    DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                    DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                    DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                    DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                    DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                    DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                    DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                    DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                    DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                    DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                    DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                    DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                    DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                    DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                    DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                    Return (PPAY) /* \_SB_.PC00.CNVW.PPAY */
                }

                Name (WPFY, Package (0x02)
                {
                    Zero, 
                    Package (0x05)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WPFC, 0, Serialized)
                {
                    DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                    DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                    DerefOf (WPFY [One]) [0x03] = \WPFC
                    DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                    Return (WPFY) /* \_SB_.PC00.CNVW.WPFY */
                }

                Name (WTSY, Package (0x02)
                {
                    One, 
                    Package (0x13)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WTAS, 0, Serialized)
                {
                    DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                    DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                    DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                    DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                    DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                    DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                    DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                    DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                    DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                    DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                    DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                    DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                    DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                    DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                    DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                    DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                    DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                    DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                    Return (WTSY) /* \_SB_.PC00.CNVW.WTSY */
                }

                Name (WAIY, Package (0x02)
                {
                    Zero, 
                    Package (0x04)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WAIS, 0, Serialized)
                {
                    DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                    DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                    Return (WAIY) /* \_SB_.PC00.CNVW.WAIY */
                }

                Name (SADX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        0x80000000
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        0x80000000
                    }
                })
                Method (SADS, 0, Serialized)
                {
                    DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                    DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                    Return (SADX) /* \_SB_.PC00.CNVW.SADX */
                }

                Name (GPCX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (GPC, 0, Serialized)
                {
                    Return (GPCX) /* \_SB_.PC00.CNVW.GPCX */
                }

                Name (GLAX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Zero
                    }
                })
                Method (GLAI, 0, Serialized)
                {
                    ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                    DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                    DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                    Return (GLAX) /* \_SB_.PC00.CNVW.GLAX */
                }

                Name (FDEL, Zero)
                Name (PDEL, Zero)
                Name (VDEL, Zero)
                Method (IFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x1F                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        ADBG (Concatenate ("vPro: ", CVPR))
                        Local0 = (CVPR << Zero)
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        CreateWordField (Arg3, Zero, CMDT)
                        CreateWordField (Arg3, 0x02, CMDP)
                        ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                        ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                        If ((CMDT == One))
                        {
                            If (^^RP12.PXSX.WIST ())
                            {
                                Return (RSTY) /* External reference */
                            }
                            ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Get _PRR Mode = ", RSTT))
                                Return (RSTT) /* \_SB_.PC00.CNVW.RSTT */
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((CMDT == 0x02))
                        {
                            If (^^RP12.PXSX.WIST ())
                            {
                                Local0 = (CMDP & One)
                                RSTY = Local0
                                Local1 = (CMDP & 0x02)
                                Local1 >>= One
                                FLRC = Local1
                                Local2 = (CMDP & 0x04)
                                Local2 >>= 0x02
                                BOFC = Local2
                            }
                            ElseIf (CondRefOf (\_SB.PC00.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                                RSTT = CMDP /* \_SB_.PC00.CNVW.IFUN.CMDP */
                            }

                            Return (Zero)
                        }

                        If ((CMDT == 0x03))
                        {
                            If (CondRefOf (\_SB.PC00.CNVW.PRRS))
                            {
                                ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (PRRS)))
                                Return (PRRS) /* \_SB_.PC00.CNVW.PRRS */
                            }
                            ElseIf (^^RP12.PXSX.WIST ())
                            {
                                ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                                Return (DPRS) /* External reference */
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x03))
                    {
                        If ((CRFI == One))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    If ((Arg2 == 0x04))
                    {
                        CreateWordField (Arg3, Zero, PRTT)
                        CreateWordField (Arg3, 0x02, PRTD)
                        ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                        ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                        If ((PRTT == One))
                        {
                            FDEL = PRTD /* \_SB_.PC00.CNVW.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x02))
                        {
                            PDEL = PRTD /* \_SB_.PC00.CNVW.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x03))
                        {
                            VDEL = PRTD /* \_SB_.PC00.CNVW.IFUN.PRTD */
                        }
                        Else
                        {
                            ADBG ("TimerDuration not set")
                        }
                    }

                    Return (Zero)
                }

                Method (IDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (EFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Local0 = ACSD /* \ACSD */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        Local0 = I5BS /* \I5BS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x03))
                    {
                        Local0 = UHBS /* \UHBS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x06))
                    {
                        Local0 = AXMU /* \AXMU */
                        Local0 <<= One
                        Local0 |= AXSU /* \AXSU */
                        Local1 = AXMR /* \AXMR */
                        Local1 <<= One
                        Local1 |= AXSR /* \AXSR */
                        Local1 <<= 0x02
                        Local0 |= Local1
                        Return (Local0)
                    }

                    If ((Arg2 == 0x04))
                    {
                        Return (Buffer (0x02)
                        {
                             0x03, 0x00                                       // ..
                        })
                    }

                    If ((Arg2 == 0x05))
                    {
                        Return (WFUC) /* \WFUC */
                    }

                    If ((Arg2 == 0x07))
                    {
                        Return (UNI4) /* \UNI4 */
                    }

                    If ((Arg2 == 0x08))
                    {
                        Return (WFIC) /* \WFIC */
                    }

                    If ((Arg2 == 0x09))
                    {
                        Return (WFBS) /* \WFBS */
                    }

                    If ((Arg2 == 0x0A))
                    {
                        Return (WEDT) /* \WEDT */
                    }

                    If ((Arg2 == 0x0B))
                    {
                        If ((CIRM == One))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    If ((Arg2 == 0x0C))
                    {
                        Return (WF7C) /* \WF7C */
                    }

                    Return (Zero)
                }

                Method (EDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (EDSM (Arg0))
                    {
                        Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (IDSM (Arg0))
                    {
                        Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }
        }

        If (((CBTC == One) && (CBTI == One)))
        {
            If ((PU2C == 0x0A))
            {
                Scope (_SB.PC00.XHCI.RHUB.HS10)
                {
                    Name (SADX, Package (0x03)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0x07, 
                            0x80000000
                        }, 

                        Package (0x02)
                        {
                            0x12, 
                            0x80000000
                        }
                    })
                    Method (SADS, 0, Serialized)
                    {
                        DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                        DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                        Return (SADX) /* \_SB_.PC00.XHCI.RHUB.HS10.SADX */
                    }

                    Name (BRDY, Package (0x02)
                    {
                        One, 
                        Package (0x0A)
                        {
                            0x12, 
                            0x80, 
                            0x80, 
                            0x80, 
                            0x80, 
                            0x80, 
                            0x80, 
                            0x80, 
                            0x80, 
                            0x80
                        }
                    })
                    Method (BRDS, 0, Serialized)
                    {
                        DerefOf (BRDY [One]) [One] = BTSE /* \BTSE */
                        DerefOf (BRDY [One]) [0x02] = BIPM /* \BIPM */
                        DerefOf (BRDY [One]) [0x03] = BSPL /* \BSPL */
                        DerefOf (BRDY [One]) [0x04] = BTBR /* \BTBR */
                        DerefOf (BRDY [One]) [0x05] = BED2 /* \BED2 */
                        DerefOf (BRDY [One]) [0x06] = BED3 /* \BED3 */
                        DerefOf (BRDY [One]) [0x07] = BTLE /* \BTLE */
                        DerefOf (BRDY [One]) [0x08] = BTL2 /* \BTL2 */
                        DerefOf (BRDY [One]) [0x09] = BTLL /* \BTLL */
                        Return (BRDY) /* \_SB_.PC00.XHCI.RHUB.HS10.BRDY */
                    }

                    Name (ECKY, Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0x12, 
                            Zero
                        }
                    })
                    Method (ECKV, 0, Serialized)
                    {
                        DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                        Return (ECKY) /* \_SB_.PC00.XHCI.RHUB.HS10.ECKY */
                    }

                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If ((Arg0 == ToUUID ("aa10f4e0-81ac-4233-abf6-3b2ac50e28d9") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x1B                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ADBG (Concatenate ("Set RDLY ", ToDecimalString (Arg3)))
                                RDLY = Arg3
                            }

                            If ((Arg2 == 0x03))
                            {
                                CreateWordField (Arg3, Zero, CMDT)
                                CreateWordField (Arg3, 0x02, CMDP)
                                If ((CMDT == One))
                                {
                                    BRMT = CMDP /* \_SB_.PC00.XHCI.RHUB.HS10._DSM.CMDP */
                                }
                            }

                            If ((Arg2 == 0x04))
                            {
                                Return (BRMT) /* External reference */
                            }

                            Return (Zero)
                        }
                        ElseIf ((Arg0 == ToUUID ("2d19d3e1-5708-4696-bd5b-2c3dbae2d6a9") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ADBG (Concatenate ("Tile Activation ", ToDecimalString (Arg3)))
                            }

                            Return (Zero)
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    PowerResource (BTRT, 0x05, 0x0000)
                    {
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            ADBG ("BT PR _STA")
                            Return (One)
                        }

                        Method (_ON, 0, NotSerialized)  // _ON_: Power On
                        {
                            ADBG ("BT PR _ON")
                        }

                        Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                        {
                            ADBG ("BT PR _OFF")
                        }

                        Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                        {
                            ADBG ("BT PR _RST")
                            Local0 = Acquire (CNMT, 0x03E8)
                            ADBG ("BT CNMT Mutex:Acquired Try Done")
                            If ((Local0 == Zero))
                            {
                                BTRK (Zero)
                                Sleep (RDLY)
                                BTRK (One)
                                Sleep (RDLY)
                            }

                            Release (CNMT)
                        }
                    }

                    PowerResource (DBTR, 0x05, 0x0000)
                    {
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            ADBG ("BT PR _STA")
                            Return (One)
                        }

                        Method (_ON, 0, NotSerialized)  // _ON_: Power On
                        {
                            ADBG ("BT PR _ON")
                        }

                        Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                        {
                            ADBG ("BT PR _OFF")
                        }

                        Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                        {
                            ADBG ("CNVd BT _RST")
                            ADBG (Concatenate (" WVHO -  ", ToHexString (WVHO)))
                            Local0 = Acquire (CNMT, 0x03E8)
                            ADBG ("BT CNMT Mutex:Acquired Try Done")
                            If ((Local0 == Zero))
                            {
                                If ((BRMT == Zero))
                                {
                                    ADBG ("BT RF Kill ON")
                                    BTRK (Zero)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    ^^^^^RP12.PXSX.BTIE = Zero
                                    ADBG ("Set BTIE Disable")
                                }

                                Sleep (RDLY)
                                If ((BRMT == Zero))
                                {
                                    ADBG ("BT RF Kill OFF")
                                    BTRK (One)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    ^^^^^RP12.PXSX.BTIE = One
                                    ADBG ("Set BTIE Enable")
                                }

                                Sleep (RDLY)
                            }

                            Release (CNMT)
                        }
                    }

                    Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
                    {
                        If (((CBTC == One) && (CBTI == One)))
                        {
                            Return (Package (0x01)
                            {
                                BTRT
                            })
                        }
                        Else
                        {
                            Return (Package (0x01)
                            {
                                DBTR
                            })
                        }
                    }

                    Name (GPCX, Package (0x03)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0x07, 
                            Package (0x03)
                            {
                                Zero, 
                                Zero, 
                                Zero
                            }
                        }, 

                        Package (0x02)
                        {
                            0x12, 
                            Package (0x03)
                            {
                                Zero, 
                                Zero, 
                                Zero
                            }
                        }
                    })
                    Method (GPC, 0, Serialized)
                    {
                        Return (GPCX) /* \_SB_.PC00.XHCI.RHUB.HS10.GPCX */
                    }

                    Name (GLAX, Package (0x03)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0x07, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            0x12, 
                            Zero
                        }
                    })
                    Method (GLAI, 0, Serialized)
                    {
                        ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                        DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                        DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                        Return (GLAX) /* \_SB_.PC00.XHCI.RHUB.HS10.GLAX */
                    }

                    Name (BTLY, Package (0x02)
                    {
                        One, 
                        Package (0x0B)
                        {
                            0x12, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    })
                    Method (BTLC, 0, Serialized)
                    {
                        DerefOf (BTLY [One]) [One] = TILE /* \TILE */
                        DerefOf (BTLY [One]) [0x02] = TIS0 /* \TIS0 */
                        DerefOf (BTLY [One]) [0x03] = TS0X /* \TS0X */
                        DerefOf (BTLY [One]) [0x04] = TIS4 /* \TIS4 */
                        DerefOf (BTLY [One]) [0x05] = TIS5 /* \TIS5 */
                        DerefOf (BTLY [One]) [0x06] = BLEC /* \BLEC */
                        DerefOf (BTLY [One]) [0x07] = BLPD /* \BLPD */
                        DerefOf (BTLY [One]) [0x08] = BLPI /* \BLPI */
                        Return (BTLY) /* \_SB_.PC00.XHCI.RHUB.HS10.BTLY */
                    }

                    Method (AOLX, 0, NotSerialized)
                    {
                        Name (AODS, Package (0x03)
                        {
                            Zero, 
                            0x12, 
                            Zero
                        })
                        If ((CBTA == One))
                        {
                            If ((CRFP == Zero))
                            {
                                If ((HDBO & One))
                                {
                                    AODS [0x02] = One
                                }
                            }
                            Else
                            {
                                AODS [0x02] = One
                            }
                        }

                        Return (AODS) /* \_SB_.PC00.XHCI.RHUB.HS10.AOLX.AODS */
                    }

                    Method (AOLD, 0, NotSerialized)
                    {
                        Return (AOLX ())
                    }
                }
            }
        }
    }

    If (CondRefOf (\_SB.PC00.UA00))
    {
        Scope (_SB.PC00.UA00)
        {
            Device (BTH0)
            {
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return ("INT33E1")
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    SHPO (GBTI, One)
                    SHPO (GBTK, One)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBFG, ResourceTemplate ()
                    {
                        UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
                            0xC0, LittleEndian, ParityTypeNone, FlowControlHardware,
                            0x0020, 0x0020, "\\_SB.PC00.UA00",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                        GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    CreateWordField (SBFG, 0x5F, INT3)
                    CreateWordField (SBFG, 0x3C, KIL3)
                    INT3 = GNUM (GBTI)
                    KIL3 = GNUM (GBTK)
                    Name (SBFI, ResourceTemplate ()
                    {
                        UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
                            0xC0, LittleEndian, ParityTypeNone, FlowControlHardware,
                            0x0020, 0x0020, "\\_SB.PC00.UA00",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                        Interrupt (ResourceConsumer, Edge, ActiveLow, ExclusiveAndWake, ,, _Y52)
                        {
                            0x00000000,
                        }
                    })
                    CreateDWordField (SBFI, \_SB.PC00.UA00.BTH0._CRS._Y52._INT, INT4)  // _INT: Interrupts
                    CreateWordField (SBFI, 0x3C, KIL4)
                    INT4 = INUM (GBTI)
                    KIL4 = GNUM (GBTK)
                    If ((SDM9 == Zero))
                    {
                        Return (SBFG) /* \_SB_.PC00.UA00.BTH0._CRS.SBFG */
                    }
                    Else
                    {
                        Return (SBFI) /* \_SB_.PC00.UA00.BTH0._CRS.SBFI */
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((SDS9 != 0x02))
                    {
                        Return (Zero)
                    }

                    Return (0x0F)
                }

                Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
            }

            Name (BRDY, Package (0x02)
            {
                One, 
                Package (0x0A)
                {
                    0x12, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (BRDS, 0, Serialized)
            {
                DerefOf (BRDY [One]) [One] = BTSE /* \BTSE */
                DerefOf (BRDY [One]) [0x02] = BIPM /* \BIPM */
                DerefOf (BRDY [One]) [0x03] = BSPL /* \BSPL */
                DerefOf (BRDY [One]) [0x04] = BTBR /* \BTBR */
                DerefOf (BRDY [One]) [0x05] = BED2 /* \BED2 */
                DerefOf (BRDY [One]) [0x06] = BED3 /* \BED3 */
                DerefOf (BRDY [One]) [0x07] = BTLE /* \BTLE */
                DerefOf (BRDY [One]) [0x08] = BTL2 /* \BTL2 */
                DerefOf (BRDY [One]) [0x09] = BTLL /* \BTLL */
                Return (BRDY) /* \_SB_.PC00.UA00.BRDY */
            }

            Name (ECKY, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x12, 
                    Zero
                }
            })
            Method (ECKV, 0, Serialized)
            {
                DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                Return (ECKY) /* \_SB_.PC00.UA00.ECKY */
            }

            Name (GPCX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }, 

                Package (0x02)
                {
                    0x12, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }
            })
            Method (GPC, 0, Serialized)
            {
                Return (GPCX) /* \_SB_.PC00.UA00.GPCX */
            }

            Name (GLAX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }, 

                Package (0x02)
                {
                    0x12, 
                    Zero
                }
            })
            Method (GLAI, 0, Serialized)
            {
                ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                Return (GLAX) /* \_SB_.PC00.UA00.GLAX */
            }
        }
    }

    Scope (_SB.PC00.HDAS)
    {
        Method (PPMS, 1, Serialized)
        {
            ADBG ("PPMS called")
            ADBG (Arg0)
            If ((Arg0 == ToUUID ("7c708106-3aff-40fe-88be-8c999b3f7445") /* Unknown UUID */))
            {
                Return ((ADPM & 0x04))
            }

            If ((Arg0 == ToUUID ("ec774fa9-28d3-424a-90e4-69f984f1eeb7") /* Unknown UUID */))
            {
                Return ((ADPM & 0x0100))
            }

            If ((Arg0 == ACCG (AG1L, AG1H)))
            {
                ADBG ("Alpha passed")
                Return ((ADPM & 0x20000000))
            }

            If ((Arg0 == ACCG (AG2L, AG2H)))
            {
                ADBG ("Beta passed")
                Return ((ADPM & 0x40000000))
            }

            If ((Arg0 == ACCG (AG3L, AG3H)))
            {
                ADBG ("Gamma passed")
                Return ((ADPM & 0x80000000))
            }

            If ((Arg0 == ToUUID ("b489c2de-0f96-42e1-8a2d-c25b5091ee49") /* Unknown UUID */))
            {
                Return ((ADPM & One))
            }

            If ((Arg0 == ToUUID ("e1284052-8664-4fe4-a353-3878f72704c3") /* Unknown UUID */))
            {
                Return ((ADPM & 0x02))
            }

            If ((Arg0 == ToUUID ("bde2f4ee-a588-4537-90fb-36a8d63d55ad") /* Unknown UUID */))
            {
                Return ((ADPM & 0x08))
            }

            If ((Arg0 == ToUUID ("347297c3-a6d5-40db-8120-ace66babf491") /* Unknown UUID */))
            {
                Return ((ADPM & 0x10))
            }

            If ((Arg0 == ToUUID ("bd70ce66-7cee-4277-a91a-d6368feaf83d") /* Unknown UUID */))
            {
                Return ((ADPM & 0x20))
            }

            If ((Arg0 == ToUUID ("c75061f3-f2b2-4dcc-8f9f-82abb4131e66") /* Unknown UUID */))
            {
                Return ((ADPM & 0x40))
            }

            If ((Arg0 == ToUUID ("b3573eff-6441-4a75-91f7-4281eec4597d") /* Unknown UUID */))
            {
                Return ((ADPM & 0x80))
            }

            If ((Arg0 == ToUUID ("d46f9d72-81a4-47fd-b301-8e39d17c0981") /* Unknown UUID */))
            {
                Return ((ADPM & 0x0200))
            }

            If ((Arg0 == ToUUID ("f3578986-4400-4adf-ae7e-cd433cd3f26e") /* Unknown UUID */))
            {
                Return ((ADPM & 0x0400))
            }

            If ((Arg0 == ToUUID ("2c093145-5895-4699-9ddb-6fefdc77e85d") /* Unknown UUID */))
            {
                Return ((ADPM & 0x0800))
            }

            If ((Arg0 == ToUUID ("b55eba24-8349-4dad-afc7-8489d23c93ef") /* Unknown UUID */))
            {
                Return ((ADPM & 0x1000))
            }

            If ((Arg0 == ToUUID ("7111001f-d35f-44d9-81d2-7ac685bed3d7") /* Unknown UUID */))
            {
                Return ((ADPM & 0x2000))
            }

            If ((Arg0 == ToUUID ("88373a01-16a5-469d-a39a-bdeb594178b8") /* Unknown UUID */))
            {
                Return ((ADPM & 0x4000))
            }

            If ((Arg0 == ToUUID ("54cab206-82cb-4b67-a1ee-fcd45c126dc8") /* Unknown UUID */))
            {
                Return ((ADPM & 0x8000))
            }

            If ((Arg0 == ToUUID ("70002307-da3e-4e0b-ba03-4c72314b2aaa") /* Unknown UUID */))
            {
                Return ((ADPM & 0x00010000))
            }

            If ((Arg0 == ToUUID ("7aea5e24-e5e9-4d6d-b88f-b505c1acab11") /* Unknown UUID */))
            {
                Return ((ADPM & 0x00020000))
            }

            Return (Zero)
        }

        Method (ACCG, 2, NotSerialized)
        {
            Name (GBUF, Buffer (0x10){})
            Concatenate (Arg0, Arg1, GBUF) /* \_SB_.PC00.HDAS.ACCG.GBUF */
            Return (GBUF) /* \_SB_.PC00.HDAS.ACCG.GBUF */
        }
    }

    If ((I2SB == Zero))
    {
        Scope (_SB.PC00.I2C0)
        {
            If (((I2SC != 0x04) && ((I2SC != 0x03) && 
                (I2SC != 0x05))))
            {
                Device (HDC1)
                {
                    Name (_HID, "10EC1308")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x10, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == 0x02) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }

                Device (HDC2)
                {
                    Name (_HID, "INT34C2")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x1C, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == One) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }
            }
        }
    }
    ElseIf ((I2SB == One))
    {
        Scope (_SB.PC00.I2C1)
        {
            If (((I2SC != 0x04) && ((I2SC != 0x03) && 
                (I2SC != 0x05))))
            {
                Device (HDC1)
                {
                    Name (_HID, "10EC1308")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x10, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == 0x02) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }

                Device (HDC2)
                {
                    Name (_HID, "INT34C2")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x1C, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == One) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }
            }
        }
    }
    ElseIf ((I2SB == 0x02))
    {
        Scope (_SB.PC00.I2C2)
        {
            If (((I2SC != 0x04) && ((I2SC != 0x03) && 
                (I2SC != 0x05))))
            {
                Device (HDC1)
                {
                    Name (_HID, "10EC1308")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x10, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == 0x02) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }

                Device (HDC2)
                {
                    Name (_HID, "INT34C2")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x1C, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == One) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }
            }
        }
    }
    ElseIf ((I2SB == 0x03))
    {
        Scope (_SB.PC00.I2C3)
        {
            If (((I2SC != 0x04) && ((I2SC != 0x03) && 
                (I2SC != 0x05))))
            {
                Device (HDC1)
                {
                    Name (_HID, "10EC1308")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x10, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == 0x02) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }

                Device (HDC2)
                {
                    Name (_HID, "INT34C2")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x1C, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == One) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }
            }
        }
    }
    ElseIf ((I2SB == 0x04))
    {
        Scope (_SB.PC00.I2C4)
        {
            If (((I2SC != 0x04) && ((I2SC != 0x03) && 
                (I2SC != 0x05))))
            {
                Device (HDC1)
                {
                    Name (_HID, "10EC1308")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x10, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == 0x02) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }

                Device (HDC2)
                {
                    Name (_HID, "INT34C2")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x1C, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == One) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }
            }
        }
    }
    ElseIf ((I2SB == 0x05))
    {
        Scope (_SB.PC00.I2C5)
        {
            If (((I2SC != 0x04) && ((I2SC != 0x03) && 
                (I2SC != 0x05))))
            {
                Device (HDC1)
                {
                    Name (_HID, "10EC1308")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x10, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == 0x02) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }

                Device (HDC2)
                {
                    Name (_HID, "INT34C2")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x1C, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == One) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }
            }
        }
    }

    Scope (_SB.PC00.HDAS)
    {
        Device (RTKC)
        {
            Name (_ADR, One)  // _ADR: Address
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((PXDC == One))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x0F)
                }
            }
        }
    }

    If ((PCHA == Zero))
    {
        Scope (_SB.PC00)
        {
            If ((I2SE == One))
            {
                Device (HDA1)
                {
                    Name (_HID, "INTC10B0")  // _HID: Hardware ID
                    Name (_CID, "INTC10B0")  // _CID: Compatible ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, 0x02)  // _UID: Unique ID
                    Name (CADR, Zero)
                    Name (CDIS, Zero)
                    Method (GRI1, 0, NotSerialized)
                    {
                        Name (BUF, Buffer (0x09){})
                        If ((L0EN == One))
                        {
                            BUF [Zero] = A0H0 /* \A0H0 */
                            BUF [One] = A0H1 /* \A0H1 */
                            BUF [0x02] = A0H2 /* \A0H2 */
                            BUF [0x03] = A0H3 /* \A0H3 */
                            BUF [0x04] = A0H4 /* \A0H4 */
                            BUF [0x05] = A0H5 /* \A0H5 */
                            BUF [0x06] = A0H6 /* \A0H6 */
                            BUF [0x07] = A0H7 /* \A0H7 */
                            BUF [0x08] = A0H8 /* \A0H8 */
                        }

                        If ((L1EN == One))
                        {
                            BUF [Zero] = A1H0 /* \A1H0 */
                            BUF [One] = A1H1 /* \A1H1 */
                            BUF [0x02] = A1H2 /* \A1H2 */
                            BUF [0x03] = A1H3 /* \A1H3 */
                            BUF [0x04] = A1H4 /* \A1H4 */
                            BUF [0x05] = A1H5 /* \A1H5 */
                            BUF [0x06] = A1H6 /* \A1H6 */
                            BUF [0x07] = A1H7 /* \A1H7 */
                            BUF [0x08] = A1H8 /* \A1H8 */
                        }

                        Return (ToString (BUF, Ones))
                    }

                    Method (_INI, 0, NotSerialized)  // _INI: Initialize
                    {
                        If ((L0SM == 0xFE))
                        {
                            _HID = GRI1 ()
                            _CID = GRI1 ()
                        }

                        If ((L1SM == 0xFE))
                        {
                            _HID = GRI1 ()
                            _CID = GRI1 ()
                        }
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((L0SM == 0x18))
                        {
                            Return (0x0F)
                        }

                        If ((L0SM == 0xFE))
                        {
                            Return (0x0F)
                        }

                        If ((L1SM == 0x18))
                        {
                            Return (0x0F)
                        }

                        If ((L1SM == 0xFE))
                        {
                            Return (0x0F)
                        }

                        If ((L2SM == 0x18))
                        {
                            Return (0x0F)
                        }

                        If ((L3SM == 0x18))
                        {
                            Return (0x0F)
                        }

                        If ((L4SM == 0x18))
                        {
                            Return (0x0F)
                        }

                        If ((L5SM == 0x18))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }
                }
            }

            Method (PINJ, 3, Serialized)
            {
                Name (GPIJ, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveLow, SharedAndWake, PullDefault, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0xFFFF
                        }
                    GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0xFFFF
                        }
                })
                CreateWordField (GPIJ, 0x17, WAK1)
                CreateWordField (GPIJ, 0x3A, PINF)
                WAK1 = (GINF (Arg1, Arg2, 0x07) + Arg0)
                PINF = (GINF (Arg1, Arg2, 0x07) + Arg0)
                Return (GPIJ) /* \_SB_.PC00.PINJ.GPIJ */
            }

            Method (PINM, 3, Serialized)
            {
                Name (GPII, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveBoth, SharedAndWake, PullDefault, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0xFFFF
                        }
                    GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0xFFFF
                        }
                })
                CreateWordField (GPII, 0x17, WAK1)
                CreateWordField (GPII, 0x3A, PINF)
                WAK1 = (GINF (Arg1, Arg2, 0x07) + Arg0)
                PINF = (GINF (Arg1, Arg2, 0x07) + Arg0)
                Return (GPII) /* \_SB_.PC00.PINM.GPII */
            }

            Method (PINR, 3, Serialized)
            {
                Name (GPIR, ResourceTemplate ()
                {
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0xFFFF
                        }
                })
                CreateWordField (GPIR, 0x17, PINF)
                PINF = (GINF (Arg1, Arg2, 0x07) + Arg0)
                Return (GPIR) /* \_SB_.PC00.PINR.GPIR */
            }

            Method (VPIN, 1, Serialized)
            {
                If (ARLP)
                {
                    Name (AGPR, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0xFFFF
                            }
                    })
                    CreateWordField (AGPR, 0x17, PINA)
                    PINA = Arg0
                    Return (AGPR) /* \_SB_.PC00.VPIN.AGPR */
                }
                Else
                {
                    Name (GPOR, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0xFFFF
                            }
                    })
                    CreateWordField (GPOR, 0x17, PINV)
                    PINV = Arg0
                    Return (GPOR) /* \_SB_.PC00.VPIN.GPOR */
                }
            }

            Method (DSMI, 4, Serialized)
            {
                Local3 = (Arg3 << 0x18)
                Local2 = (Arg2 << 0x10)
                Local1 = (Arg1 << 0x08)
                Local0 = (Local1 | Arg0)
                Local0 |= Local2
                Local0 |= Local3
                Return (Local0)
            }

            Method (GPPI, 4, Serialized)
            {
                Local3 = (Arg3 << 0x18)
                Local2 = (Arg2 << 0x10)
                Local1 = (Arg1 << 0x08)
                Local0 = (Local1 | Arg0)
                Local0 |= Local2
                Local0 |= Local3
                Return (Local0)
            }

            Method (GRID, 1, Serialized)
            {
                Name (BUF, Buffer (0x09){})
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        BUF [Zero] = L0H0 /* \L0H0 */
                        BUF [One] = L0H1 /* \L0H1 */
                        BUF [0x02] = L0H2 /* \L0H2 */
                        BUF [0x03] = L0H3 /* \L0H3 */
                        BUF [0x04] = L0H4 /* \L0H4 */
                        BUF [0x05] = L0H5 /* \L0H5 */
                        BUF [0x06] = L0H6 /* \L0H6 */
                        BUF [0x07] = L0H7 /* \L0H7 */
                        BUF [0x08] = L0H8 /* \L0H8 */
                    }
                    Case (One)
                    {
                        BUF [Zero] = L1H0 /* \L1H0 */
                        BUF [One] = L1H1 /* \L1H1 */
                        BUF [0x02] = L1H2 /* \L1H2 */
                        BUF [0x03] = L1H3 /* \L1H3 */
                        BUF [0x04] = L1H4 /* \L1H4 */
                        BUF [0x05] = L1H5 /* \L1H5 */
                        BUF [0x06] = L1H6 /* \L1H6 */
                        BUF [0x07] = L1H7 /* \L1H7 */
                        BUF [0x08] = L1H8 /* \L1H8 */
                    }
                    Case (0x02)
                    {
                        BUF [Zero] = L2H0 /* \L2H0 */
                        BUF [One] = L2H1 /* \L2H1 */
                        BUF [0x02] = L2H2 /* \L2H2 */
                        BUF [0x03] = L2H3 /* \L2H3 */
                        BUF [0x04] = L2H4 /* \L2H4 */
                        BUF [0x05] = L2H5 /* \L2H5 */
                        BUF [0x06] = L2H6 /* \L2H6 */
                        BUF [0x07] = L2H7 /* \L2H7 */
                        BUF [0x08] = L2H8 /* \L2H8 */
                    }
                    Default
                    {
                        BUF [Zero] = L3H0 /* \L3H0 */
                        BUF [One] = L3H1 /* \L3H1 */
                        BUF [0x02] = L3H2 /* \L3H2 */
                        BUF [0x03] = L3H3 /* \L3H3 */
                        BUF [0x04] = L3H4 /* \L3H4 */
                        BUF [0x05] = L3H5 /* \L3H5 */
                        BUF [0x06] = L3H6 /* \L3H6 */
                        BUF [0x07] = L3H7 /* \L3H7 */
                        BUF [0x08] = L3H8 /* \L3H8 */
                    }

                }

                Return (ToString (BUF, Ones))
            }

            Method (HCID, 1, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Local0 = L0SM /* \L0SM */
                    }
                    Case (One)
                    {
                        Local0 = L1SM /* \L1SM */
                    }
                    Case (0x02)
                    {
                        Local0 = L2SM /* \L2SM */
                    }
                    Case (0x03)
                    {
                        Local0 = L3SM /* \L3SM */
                    }
                    Case (0x04)
                    {
                        Local0 = L4SM /* \L4SM */
                    }
                    Default
                    {
                        Local0 = L5SM /* \L5SM */
                    }

                }

                Switch (ToInteger (Local0))
                {
                    Case (Zero)
                    {
                        Return ("INT3471")
                    }
                    Case (One)
                    {
                        Return ("INT33BE")
                    }
                    Case (0x02)
                    {
                        Return ("INT3476")
                    }
                    Case (0x03)
                    {
                        Return ("INT3477")
                    }
                    Case (0x04)
                    {
                        Return ("INT3474")
                    }
                    Case (0x05)
                    {
                        Return ("INT3473")
                    }
                    Case (0x06)
                    {
                        Return ("INT3475")
                    }
                    Case (0x07)
                    {
                        Return ("INT3478")
                    }
                    Case (0x08)
                    {
                        Return ("INT3479")
                    }
                    Case (0x09)
                    {
                        Return ("INT347A")
                    }
                    Case (0x0A)
                    {
                        Return ("INT347B")
                    }
                    Case (0x0B)
                    {
                        Return ("OVTI2742")
                    }
                    Case (0x0C)
                    {
                        Return ("OVTI9234")
                    }
                    Case (0x0D)
                    {
                        Return ("OVTI8856")
                    }
                    Case (0x0E)
                    {
                        Return ("OVTIF860")
                    }
                    Case (0x0F)
                    {
                        Return ("SONY362A")
                    }
                    Case (0x10)
                    {
                        Return ("SONY488A")
                    }
                    Case (0x11)
                    {
                        Return ("OVTI01AS")
                    }
                    Case (0x12)
                    {
                        Return ("OVTI01A0")
                    }
                    Case (0x13)
                    {
                        Return ("OVTI5678")
                    }
                    Case (0x14)
                    {
                        Return ("OVTI9738")
                    }
                    Case (0x15)
                    {
                        Return ("HIMX11B1")
                    }
                    Case (0x16)
                    {
                        Return ("OVTI01AF")
                    }
                    Case (0x17)
                    {
                        Return ("OVTI13B1")
                    }
                    Case (0x18)
                    {
                        Return ("INTC10B1")
                    }
                    Default
                    {
                        Return (GRID (Arg0))
                    }

                }
            }

            Method (FHCI, 1, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Local0 = F0FM /* \F0FM */
                    }
                    Case (One)
                    {
                        Local0 = F1FM /* \F1FM */
                    }
                    Case (0x02)
                    {
                        Local0 = F2FM /* \F2FM */
                    }
                    Case (0x03)
                    {
                        Local0 = F3FM /* \F3FM */
                    }
                    Case (0x04)
                    {
                        Local0 = F4FM /* \F4FM */
                    }
                    Default
                    {
                        Local0 = F5FM /* \F5FM */
                    }

                }

                Switch (ToInteger (Local0))
                {
                    Case (Zero)
                    {
                        Return ("TXNW3643")
                    }
                    Case (One)
                    {
                        Return ("PWRC0000")
                    }
                    Default
                    {
                        Return ("TXNW3643")
                    }

                }
            }

            Method (FMID, 1, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Local0 = F0FM /* \F0FM */
                    }
                    Case (One)
                    {
                        Local0 = F1FM /* \F1FM */
                    }
                    Case (0x02)
                    {
                        Local0 = F2FM /* \F2FM */
                    }
                    Case (0x03)
                    {
                        Local0 = F3FM /* \F3FM */
                    }
                    Case (0x04)
                    {
                        Local0 = F4FM /* \F4FM */
                    }
                    Default
                    {
                        Local0 = F5FM /* \F5FM */
                    }

                }

                Switch (ToInteger (Local0))
                {
                    Case (Zero)
                    {
                        Return ("LM3643")
                    }
                    Case (One)
                    {
                        Return ("PMICWRC")
                    }
                    Default
                    {
                        Return ("LM3643")
                    }

                }
            }

            Method (FMLS, 1, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Return (F0MS) /* \F0MS */
                    }
                    Case (One)
                    {
                        Return (F1MS) /* \F1MS */
                    }
                    Case (0x02)
                    {
                        Return (F2MS) /* \F2MS */
                    }
                    Case (0x03)
                    {
                        Return (F3MS) /* \F3MS */
                    }
                    Case (0x04)
                    {
                        Return (F4MS) /* \F4MS */
                    }
                    Default
                    {
                        Return (F5MS) /* \F5MS */
                    }

                }
            }

            Method (AGPN, 2, Serialized)
            {
                Local0 = (Arg1 << 0x10)
                Local0 |= Arg0
                Local1 = GNUM (Local0)
                Return (Local1)
            }

            Method (CDEP, 1, Serialized)
            {
                If ((Arg0 == Zero))
                {
                    If ((C0TP == One))
                    {
                        Switch (ToInteger (L0BS))
                        {
                            Case (Zero)
                            {
                                Return (Package (0x02)
                                {
                                    DSC0, 
                                    I2C0
                                })
                            }
                            Case (One)
                            {
                                Return (Package (0x02)
                                {
                                    DSC0, 
                                    I2C1
                                })
                            }
                            Case (0x02)
                            {
                                Return (Package (0x02)
                                {
                                    DSC0, 
                                    I2C2
                                })
                            }
                            Case (0x03)
                            {
                                Return (Package (0x02)
                                {
                                    DSC0, 
                                    I2C3
                                })
                            }
                            Case (0x04)
                            {
                                Return (Package (0x02)
                                {
                                    DSC0, 
                                    I2C4
                                })
                            }
                            Case (0x05)
                            {
                                Return (Package (0x02)
                                {
                                    DSC0, 
                                    I2C5
                                })
                            }
                            Default
                            {
                                Return (Package (0x01)
                                {
                                    DSC0
                                })
                            }

                        }
                    }

                    If ((C0TP == 0x05))
                    {
                        Return (Package (0x01)
                        {
                            LTH0
                        })
                    }

                    If ((C0TP > One))
                    {
                        Return (Package (0x01)
                        {
                            CLP0
                        })
                    }
                }

                If ((Arg0 == One))
                {
                    If ((C1TP == One))
                    {
                        Switch (ToInteger (L1BS))
                        {
                            Case (Zero)
                            {
                                Return (Package (0x02)
                                {
                                    DSC1, 
                                    I2C0
                                })
                            }
                            Case (One)
                            {
                                Return (Package (0x02)
                                {
                                    DSC1, 
                                    I2C1
                                })
                            }
                            Case (0x02)
                            {
                                Return (Package (0x02)
                                {
                                    DSC1, 
                                    I2C2
                                })
                            }
                            Case (0x03)
                            {
                                Return (Package (0x02)
                                {
                                    DSC1, 
                                    I2C3
                                })
                            }
                            Case (0x04)
                            {
                                Return (Package (0x02)
                                {
                                    DSC1, 
                                    I2C4
                                })
                            }
                            Case (0x05)
                            {
                                Return (Package (0x02)
                                {
                                    DSC1, 
                                    I2C5
                                })
                            }
                            Default
                            {
                                Return (Package (0x01)
                                {
                                    DSC1
                                })
                            }

                        }
                    }

                    If ((C1TP == 0x05))
                    {
                        Return (Package (0x01)
                        {
                            LTH1
                        })
                    }

                    If ((C1TP > One))
                    {
                        Return (Package (0x01)
                        {
                            CLP1
                        })
                    }
                }

                If ((Arg0 == 0x02))
                {
                    If ((C2TP == One))
                    {
                        Switch (ToInteger (L2BS))
                        {
                            Case (Zero)
                            {
                                Return (Package (0x02)
                                {
                                    DSC2, 
                                    I2C0
                                })
                            }
                            Case (One)
                            {
                                Return (Package (0x02)
                                {
                                    DSC2, 
                                    I2C1
                                })
                            }
                            Case (0x02)
                            {
                                Return (Package (0x02)
                                {
                                    DSC2, 
                                    I2C2
                                })
                            }
                            Case (0x03)
                            {
                                Return (Package (0x02)
                                {
                                    DSC2, 
                                    I2C3
                                })
                            }
                            Case (0x04)
                            {
                                Return (Package (0x02)
                                {
                                    DSC2, 
                                    I2C4
                                })
                            }
                            Case (0x05)
                            {
                                Return (Package (0x02)
                                {
                                    DSC2, 
                                    I2C5
                                })
                            }
                            Default
                            {
                                Return (Package (0x01)
                                {
                                    DSC2
                                })
                            }

                        }
                    }

                    If ((C2TP == 0x05))
                    {
                        Return (Package (0x01)
                        {
                            LTH2
                        })
                    }

                    If ((C2TP > One))
                    {
                        Return (Package (0x01)
                        {
                            CLP2
                        })
                    }
                }

                If ((Arg0 == 0x03))
                {
                    If ((C3TP == One))
                    {
                        Switch (ToInteger (L3BS))
                        {
                            Case (Zero)
                            {
                                Return (Package (0x02)
                                {
                                    DSC3, 
                                    I2C0
                                })
                            }
                            Case (One)
                            {
                                Return (Package (0x02)
                                {
                                    DSC3, 
                                    I2C1
                                })
                            }
                            Case (0x02)
                            {
                                Return (Package (0x02)
                                {
                                    DSC3, 
                                    I2C2
                                })
                            }
                            Case (0x03)
                            {
                                Return (Package (0x02)
                                {
                                    DSC3, 
                                    I2C3
                                })
                            }
                            Case (0x04)
                            {
                                Return (Package (0x02)
                                {
                                    DSC3, 
                                    I2C4
                                })
                            }
                            Case (0x05)
                            {
                                Return (Package (0x02)
                                {
                                    DSC3, 
                                    I2C5
                                })
                            }
                            Default
                            {
                                Return (Package (0x01)
                                {
                                    DSC3
                                })
                            }

                        }
                    }

                    If ((C3TP == 0x05))
                    {
                        Return (Package (0x01)
                        {
                            LTH3
                        })
                    }

                    If ((C3TP > One))
                    {
                        Return (Package (0x01)
                        {
                            CLP3
                        })
                    }
                }

                If ((Arg0 == 0x04))
                {
                    If ((C4TP == One))
                    {
                        Switch (ToInteger (L4BS))
                        {
                            Case (Zero)
                            {
                                Return (Package (0x02)
                                {
                                    DSC4, 
                                    I2C0
                                })
                            }
                            Case (One)
                            {
                                Return (Package (0x02)
                                {
                                    DSC4, 
                                    I2C1
                                })
                            }
                            Case (0x02)
                            {
                                Return (Package (0x02)
                                {
                                    DSC4, 
                                    I2C2
                                })
                            }
                            Case (0x03)
                            {
                                Return (Package (0x02)
                                {
                                    DSC3, 
                                    I2C3
                                })
                            }
                            Case (0x04)
                            {
                                Return (Package (0x02)
                                {
                                    DSC4, 
                                    I2C4
                                })
                            }
                            Case (0x05)
                            {
                                Return (Package (0x02)
                                {
                                    DSC4, 
                                    I2C5
                                })
                            }
                            Default
                            {
                                Return (Package (0x01)
                                {
                                    DSC4
                                })
                            }

                        }
                    }

                    If ((C4TP == 0x05))
                    {
                        Return (Package (0x01)
                        {
                            LTH4
                        })
                    }

                    If ((C4TP > One))
                    {
                        Return (Package (0x01)
                        {
                            CLP4
                        })
                    }
                }

                If ((Arg0 == 0x05))
                {
                    If ((C5TP == One))
                    {
                        Switch (ToInteger (L5BS))
                        {
                            Case (Zero)
                            {
                                Return (Package (0x02)
                                {
                                    DSC5, 
                                    I2C0
                                })
                            }
                            Case (One)
                            {
                                Return (Package (0x02)
                                {
                                    DSC5, 
                                    I2C1
                                })
                            }
                            Case (0x02)
                            {
                                Return (Package (0x02)
                                {
                                    DSC5, 
                                    I2C2
                                })
                            }
                            Case (0x03)
                            {
                                Return (Package (0x02)
                                {
                                    DSC5, 
                                    I2C3
                                })
                            }
                            Case (0x04)
                            {
                                Return (Package (0x02)
                                {
                                    DSC5, 
                                    I2C4
                                })
                            }
                            Case (0x05)
                            {
                                Return (Package (0x02)
                                {
                                    DSC5, 
                                    I2C5
                                })
                            }
                            Default
                            {
                                Return (Package (0x01)
                                {
                                    DSC5
                                })
                            }

                        }
                    }

                    If ((C5TP == 0x05))
                    {
                        Return (Package (0x01)
                        {
                            LTH5
                        })
                    }

                    If ((C5TP > One))
                    {
                        Return (Package (0x01)
                        {
                            CLP5
                        })
                    }
                }

                Return (Package (0x01)
                {
                    PC00
                })
            }

            Method (CDEG, 1, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Return (Zero)
                    }
                    Case (One)
                    {
                        Return (0x2D)
                    }
                    Case (0x02)
                    {
                        Return (0x5A)
                    }
                    Case (0x03)
                    {
                        Return (0x87)
                    }
                    Case (0x04)
                    {
                        Return (0xB4)
                    }
                    Case (0x05)
                    {
                        Return (0xE1)
                    }
                    Case (0x06)
                    {
                        Return (0x010E)
                    }
                    Case (0x07)
                    {
                        Return (0x013B)
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }

            Device (DSC0)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, Zero)  // _UID: Unique ID
                If ((C0GP != Zero))
                {
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        If ((C0GP > Zero))
                        {
                            Local0 = PINR (C0P0, C0C0, C0G0)
                        }

                        If ((C0GP > One))
                        {
                            Local1 = PINR (C0P1, C0C1, C0G1)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C0GP > 0x02))
                        {
                            Local1 = PINR (C0P2, C0C2, C0G2)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C0GP > 0x03))
                        {
                            Local1 = PINR (C0P3, C0C3, C0G3)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C0GP > 0x04))
                        {
                            Local1 = PINR (C0P4, C0C4, C0G4)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C0GP > 0x05))
                        {
                            Local1 = PINR (C0P5, C0C5, C0G5)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL00)
                    {
                        If ((C0TP == One))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C0VE /* \C0VE */
                    PAR [One] = C0TP /* \C0TP */
                    PAR [0x03] = C0CV /* \C0CV */
                    PAR [0x04] = C0IC /* \C0IC */
                    PAR [0x06] = C0SP /* \C0SP */
                    PAR [0x08] = C0W0 /* \C0W0 */
                    PAR [0x09] = C0W1 /* \C0W1 */
                    PAR [0x0A] = C0W2 /* \C0W2 */
                    PAR [0x0B] = C0W3 /* \C0W3 */
                    PAR [0x0C] = C0W4 /* \C0W4 */
                    PAR [0x0D] = C0W5 /* \C0W5 */
                    PAR [0x0E] = C0CS /* \C0CS */
                    Return (PAR) /* \_SB_.PC00.DSC0.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C0GP) /* \C0GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C0F0, ((0x20 * C0G0) + C0P0), C0I0, C0A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C0F1, ((0x20 * C0G1) + C0P1), C0I1, C0A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C0F2, ((0x20 * C0G2) + C0P2), C0I2, C0A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C0F3, ((0x20 * C0G3) + C0P3), C0I3, C0A3))
                        }

                        If ((Arg2 == 0x06))
                        {
                            Return (GPPI (C0F4, ((0x20 * C0G4) + C0P4), C0I4, C0A4))
                        }

                        If ((Arg2 == 0x07))
                        {
                            Return (GPPI (C0F5, ((0x20 * C0G5) + C0P5), C0I5, C0A5))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((PCHS != 0x04))
                    {
                        If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    One])))
                                ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    0x02])))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (DSC1)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                If ((C1GP != Zero))
                {
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        If ((C1GP > Zero))
                        {
                            Local0 = PINR (C1P0, C1C0, C1G0)
                        }

                        If ((C1GP > One))
                        {
                            Local1 = PINR (C1P1, C1C1, C1G1)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C1GP > 0x02))
                        {
                            Local1 = PINR (C1P2, C1C2, C1G2)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C1GP > 0x03))
                        {
                            Local1 = PINR (C1P3, C1C3, C1G3)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C1GP > 0x04))
                        {
                            Local1 = PINR (C1P4, C1C4, C1G4)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C1GP > 0x05))
                        {
                            Local1 = PINR (C1P5, C1C5, C1G5)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL01)
                    {
                        If ((C1TP == One))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x01, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C1VE /* \C1VE */
                    PAR [One] = C1TP /* \C1TP */
                    PAR [0x03] = C1CV /* \C1CV */
                    PAR [0x04] = C1IC /* \C1IC */
                    PAR [0x06] = C1SP /* \C1SP */
                    PAR [0x08] = C1W0 /* \C1W0 */
                    PAR [0x09] = C1W1 /* \C1W1 */
                    PAR [0x0A] = C1W2 /* \C1W2 */
                    PAR [0x0B] = C1W3 /* \C1W3 */
                    PAR [0x0C] = C1W4 /* \C1W4 */
                    PAR [0x0D] = C1W5 /* \C1W5 */
                    PAR [0x0E] = C1CS /* \C1CS */
                    Return (PAR) /* \_SB_.PC00.DSC1.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C1GP) /* \C1GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C1F0, ((0x20 * C1G0) + C1P0), C1I0, C1A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C1F1, ((0x20 * C1G1) + C1P1), C1I1, C1A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C1F2, ((0x20 * C1G2) + C1P2), C1I2, C1A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C1F3, ((0x20 * C1G3) + C1P3), C1I3, C1A3))
                        }

                        If ((Arg2 == 0x06))
                        {
                            Return (GPPI (C1F4, ((0x20 * C1G4) + C1P4), C1I4, C1A4))
                        }

                        If ((Arg2 == 0x07))
                        {
                            Return (GPPI (C1F5, ((0x20 * C1G5) + C1P5), C1I5, C1A5))
                        }
                    }

                    If ((PCHS != 0x04))
                    {
                        If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    One])))
                                ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    0x02])))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (DSC2)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x02)  // _UID: Unique ID
                If ((C2GP != Zero))
                {
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        If ((C2GP > Zero))
                        {
                            Local0 = PINR (C2P0, C2C0, C2G0)
                        }

                        If ((C2GP > One))
                        {
                            Local1 = PINR (C2P1, C2C1, C2G1)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C2GP > 0x02))
                        {
                            Local1 = PINR (C2P2, C2C2, C2G2)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C2GP > 0x03))
                        {
                            Local1 = PINR (C2P3, C2C3, C2G3)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C2GP > 0x04))
                        {
                            Local1 = PINR (C2P4, C2C4, C2G4)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C2GP > 0x05))
                        {
                            Local1 = PINR (C2P5, C2C5, C2G5)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL02)
                    {
                        If ((C2TP == One))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x02, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C2VE /* \C2VE */
                    PAR [One] = C2TP /* \C2TP */
                    PAR [0x03] = C2CV /* \C2CV */
                    PAR [0x04] = C2IC /* \C2IC */
                    PAR [0x06] = C2SP /* \C2SP */
                    PAR [0x08] = C2W0 /* \C2W0 */
                    PAR [0x09] = C2W1 /* \C2W1 */
                    PAR [0x0A] = C2W2 /* \C2W2 */
                    PAR [0x0B] = C2W3 /* \C2W3 */
                    PAR [0x0C] = C2W4 /* \C2W4 */
                    PAR [0x0D] = C2W5 /* \C2W5 */
                    PAR [0x0E] = C2CS /* \C2CS */
                    Return (PAR) /* \_SB_.PC00.DSC2.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C2GP) /* \C2GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C2F0, ((0x20 * C2G0) + C2P0), C2I0, C2A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C2F1, ((0x20 * C2G1) + C2P1), C2I1, C2A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C2F2, ((0x20 * C2G2) + C2P2), C2I2, C2A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C2F3, ((0x20 * C2G3) + C2P3), C2I3, C2A3))
                        }

                        If ((Arg2 == 0x06))
                        {
                            Return (GPPI (C2F4, ((0x20 * C2G4) + C2P4), C2I4, C2A4))
                        }

                        If ((Arg2 == 0x07))
                        {
                            Return (GPPI (C2F5, ((0x20 * C2G5) + C2P5), C2I5, C2A5))
                        }
                    }

                    If ((PCHS != 0x04))
                    {
                        If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    One])))
                                ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    0x02])))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (DSC3)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x03)  // _UID: Unique ID
                If ((C3GP != Zero))
                {
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        If ((C3GP > Zero))
                        {
                            Local0 = PINR (C3P0, C3C0, C3G0)
                        }

                        If ((C3GP > One))
                        {
                            Local1 = PINR (C3P1, C3C1, C3G1)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C3GP > 0x02))
                        {
                            Local1 = PINR (C3P2, C3C2, C3G2)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C3GP > 0x03))
                        {
                            Local1 = PINR (C3P3, C3C3, C3G3)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C3GP > 0x04))
                        {
                            Local1 = PINR (C3P4, C3C4, C3G4)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C3GP > 0x05))
                        {
                            Local1 = PINR (C3P5, C3C5, C3G5)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL03)
                    {
                        If ((C3TP == One))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C3VE /* \C3VE */
                    PAR [One] = C3TP /* \C3TP */
                    PAR [0x03] = C3CV /* \C3CV */
                    PAR [0x04] = C3IC /* \C3IC */
                    PAR [0x06] = C3SP /* \C3SP */
                    PAR [0x08] = C3W0 /* \C3W0 */
                    PAR [0x09] = C3W1 /* \C3W1 */
                    PAR [0x0A] = C3W2 /* \C3W2 */
                    PAR [0x0B] = C3W3 /* \C3W3 */
                    PAR [0x0C] = C3W4 /* \C3W4 */
                    PAR [0x0D] = C3W5 /* \C3W5 */
                    PAR [0x0E] = C3CS /* \C3CS */
                    Return (PAR) /* \_SB_.PC00.DSC3.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C3GP) /* \C3GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C3F0, ((0x20 * C3G0) + C3P0), C3I0, C3A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C3F1, ((0x20 * C3G1) + C3P1), C3I1, C3A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C3F2, ((0x20 * C3G2) + C3P2), C3I2, C3A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C3F3, ((0x20 * C3G3) + C3P3), C3I3, C3A3))
                        }

                        If ((Arg2 == 0x06))
                        {
                            Return (GPPI (C3F4, ((0x20 * C3G4) + C3P4), C3I4, C3A4))
                        }

                        If ((Arg2 == 0x07))
                        {
                            Return (GPPI (C3F5, ((0x20 * C3G5) + C3P5), C3I5, C3A5))
                        }
                    }

                    If ((PCHS != 0x04))
                    {
                        If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    One])))
                                ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    0x02])))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (DSC4)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x04)  // _UID: Unique ID
                If ((C4GP != Zero))
                {
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        If ((C4GP > Zero))
                        {
                            Local0 = PINR (C4P0, C4C0, C4G0)
                        }

                        If ((C4GP > One))
                        {
                            Local1 = PINR (C4P1, C4C1, C4G1)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C4GP > 0x02))
                        {
                            Local1 = PINR (C4P2, C4C2, C4G2)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C4GP > 0x03))
                        {
                            Local1 = PINR (C4P3, C4C3, C4G3)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C4GP > 0x04))
                        {
                            Local1 = PINR (C4P4, C4C4, C4G4)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C4GP > 0x05))
                        {
                            Local1 = PINR (C4P5, C4C5, C4G5)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL04)
                    {
                        If ((C4TP == One))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x04, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C4VE /* \C4VE */
                    PAR [One] = C4TP /* \C4TP */
                    PAR [0x03] = C4CV /* \C4CV */
                    PAR [0x04] = C4IC /* \C4IC */
                    PAR [0x06] = C4SP /* \C4SP */
                    PAR [0x08] = C4W0 /* \C4W0 */
                    PAR [0x09] = C4W1 /* \C4W1 */
                    PAR [0x0A] = C4W2 /* \C4W2 */
                    PAR [0x0B] = C4W3 /* \C4W3 */
                    PAR [0x0C] = C4W4 /* \C4W4 */
                    PAR [0x0D] = C4W5 /* \C4W5 */
                    PAR [0x0E] = C4CS /* \C4CS */
                    Return (PAR) /* \_SB_.PC00.DSC4.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C4GP) /* \C4GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C4F0, ((0x20 * C4G0) + C4P0), C4I0, C4A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C4F1, ((0x20 * C4G1) + C4P1), C4I1, C4A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C4F2, ((0x20 * C4G2) + C4P2), C4I2, C4A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C4F3, ((0x20 * C4G3) + C4P3), C4I3, C4A3))
                        }

                        If ((Arg2 == 0x06))
                        {
                            Return (GPPI (C4F4, ((0x20 * C4G4) + C4P4), C4I4, C4A4))
                        }

                        If ((Arg2 == 0x07))
                        {
                            Return (GPPI (C4F5, ((0x20 * C4G5) + C4P5), C4I5, C4A5))
                        }
                    }

                    If ((PCHS != 0x04))
                    {
                        If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    One])))
                                ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    0x02])))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (DSC5)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x05)  // _UID: Unique ID
                If ((C5GP != Zero))
                {
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        If ((C5GP > Zero))
                        {
                            Local0 = PINR (C5P0, C5C0, C5G0)
                        }

                        If ((C5GP > One))
                        {
                            Local1 = PINR (C5P1, C5C1, C5G1)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C5GP > 0x02))
                        {
                            Local1 = PINR (C5P2, C5C2, C5G2)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C5GP > 0x03))
                        {
                            Local1 = PINR (C5P3, C5C3, C5G3)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C5GP > 0x04))
                        {
                            Local1 = PINR (C5P4, C5C4, C5G4)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C5GP > 0x05))
                        {
                            Local1 = PINR (C5P5, C5C5, C5G5)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL05)
                    {
                        If ((C5TP == One))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x05, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C5VE /* \C5VE */
                    PAR [One] = C5TP /* \C5TP */
                    PAR [0x03] = C5CV /* \C5CV */
                    PAR [0x04] = C5IC /* \C5IC */
                    PAR [0x06] = C5SP /* \C5SP */
                    PAR [0x08] = C5W0 /* \C5W0 */
                    PAR [0x09] = C5W1 /* \C5W1 */
                    PAR [0x0A] = C5W2 /* \C5W2 */
                    PAR [0x0B] = C5W3 /* \C5W3 */
                    PAR [0x0C] = C5W4 /* \C5W4 */
                    PAR [0x0D] = C5W5 /* \C5W5 */
                    PAR [0x0E] = C5CS /* \C5CS */
                    Return (PAR) /* \_SB_.PC00.DSC5.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C5GP) /* \C5GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C5F0, ((0x20 * C5G0) + C5P0), C5I0, C5A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C5F1, ((0x20 * C5G1) + C5P1), C5I1, C5A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C5F2, ((0x20 * C5G2) + C5P2), C5I2, C5A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C5F3, ((0x20 * C5G3) + C5P3), C5I3, C5A3))
                        }

                        If ((Arg2 == 0x06))
                        {
                            Return (GPPI (C5F4, ((0x20 * C5G4) + C5P4), C5I4, C5A4))
                        }

                        If ((Arg2 == 0x07))
                        {
                            Return (GPPI (C5F5, ((0x20 * C5G5) + C5P5), C5I5, C5A5))
                        }
                    }

                    If ((PCHS != 0x04))
                    {
                        If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    One])))
                                ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    0x02])))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (CLP0)
            {
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (CL00)
                    {
                        If ((C0IB == 0x02))
                        {
                            Return (Package (0x01)
                            {
                                I2C2
                            })
                        }

                        If ((C0IB == 0x03))
                        {
                            Return (Package (0x01)
                            {
                                I2C3
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        PC00
                    })
                }

                Name (_UID, 0x0A)  // _UID: Unique ID
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Return (IICB (C0IA, C0IB))
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL00)
                    {
                        If (((C0TP > One) && (C0TP != 0x05)))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C0VE /* \C0VE */
                    PAR [One] = C0TP /* \C0TP */
                    PAR [0x03] = C0CV /* \C0CV */
                    PAR [0x04] = C0IC /* \C0IC */
                    PAR [0x06] = C0SP /* \C0SP */
                    PAR [0x08] = C0W0 /* \C0W0 */
                    PAR [0x09] = C0W1 /* \C0W1 */
                    PAR [0x0A] = C0W2 /* \C0W2 */
                    PAR [0x0B] = C0W3 /* \C0W3 */
                    PAR [0x0C] = C0W4 /* \C0W4 */
                    PAR [0x0D] = C0W5 /* \C0W5 */
                    Return (PAR) /* \_SB_.PC00.CLP0.CLDB.PAR_ */
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x29, 0x0D, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // ).......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    BPOS = C0PL /* \C0PL */
                    Return (PLDB) /* \_SB_.PC00.CLP0._PLD.PLDB */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x07                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (0x0B, C0IA, Zero, C0IB))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            I2CC = One
                            DEV0 = DSMI (0x0B, C0IA, Zero, C0IB)
                            Return (DSMB) /* \_SB_.PC00.CLP0._DSM.DSMB */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (CLP1)
            {
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (CL01)
                    {
                        If ((C1IB == 0x02))
                        {
                            Return (Package (0x01)
                            {
                                I2C2
                            })
                        }

                        If ((C1IB == 0x03))
                        {
                            Return (Package (0x01)
                            {
                                I2C3
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        PC00
                    })
                }

                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x0B)  // _UID: Unique ID
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Return (IICB (C1IA, C1IB))
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL01)
                    {
                        If (((C1TP > One) && (C1TP != 0x05)))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x01, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C1VE /* \C1VE */
                    PAR [One] = C1TP /* \C1TP */
                    PAR [0x03] = C1CV /* \C1CV */
                    PAR [0x04] = C1IC /* \C1IC */
                    PAR [0x06] = C1SP /* \C1SP */
                    PAR [0x08] = C1W0 /* \C1W0 */
                    PAR [0x09] = C1W1 /* \C1W1 */
                    PAR [0x0A] = C1W2 /* \C1W2 */
                    PAR [0x0B] = C1W3 /* \C1W3 */
                    PAR [0x0C] = C1W4 /* \C1W4 */
                    PAR [0x0D] = C1W5 /* \C1W5 */
                    Return (PAR) /* \_SB_.PC00.CLP1.CLDB.PAR_ */
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x29, 0x0D, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // ).......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    BPOS = C1PL /* \C1PL */
                    Return (PLDB) /* \_SB_.PC00.CLP1._PLD.PLDB */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x07                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (0x0B, C1IA, Zero, C1IB))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            I2CC = One
                            DEV0 = DSMI (0x0B, C1IA, Zero, C1IB)
                            Return (DSMB) /* \_SB_.PC00.CLP1._DSM.DSMB */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (CLP2)
            {
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (CL02)
                    {
                        If ((C2IB == 0x02))
                        {
                            Return (Package (0x01)
                            {
                                I2C2
                            })
                        }

                        If ((C2IB == 0x03))
                        {
                            Return (Package (0x01)
                            {
                                I2C3
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        PC00
                    })
                }

                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x0C)  // _UID: Unique ID
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Return (IICB (C2IA, C2IB))
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL02)
                    {
                        If (((C2TP > One) && (C2TP != 0x05)))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x02, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C2VE /* \C2VE */
                    PAR [One] = C2TP /* \C2TP */
                    PAR [0x03] = C2CV /* \C2CV */
                    PAR [0x04] = C2IC /* \C2IC */
                    PAR [0x06] = C2SP /* \C2SP */
                    PAR [0x08] = C2W0 /* \C2W0 */
                    PAR [0x09] = C2W1 /* \C2W1 */
                    PAR [0x0A] = C2W2 /* \C2W2 */
                    PAR [0x0B] = C2W3 /* \C2W3 */
                    PAR [0x0C] = C2W4 /* \C2W4 */
                    PAR [0x0D] = C2W5 /* \C2W5 */
                    Return (PAR) /* \_SB_.PC00.CLP2.CLDB.PAR_ */
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x29, 0x0D, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // ).......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    BPOS = C2PL /* \C2PL */
                    Return (PLDB) /* \_SB_.PC00.CLP2._PLD.PLDB */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x07                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (0x0B, C2IA, Zero, C2IB))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            I2CC = One
                            DEV0 = DSMI (0x0B, C2IA, Zero, C2IB)
                            Return (DSMB) /* \_SB_.PC00.CLP2._DSM.DSMB */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (CLP3)
            {
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (CL03)
                    {
                        If ((C3IB == 0x02))
                        {
                            Return (Package (0x01)
                            {
                                I2C2
                            })
                        }

                        If ((C3IB == 0x03))
                        {
                            Return (Package (0x01)
                            {
                                I2C3
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        PC00
                    })
                }

                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x0D)  // _UID: Unique ID
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Return (IICB (C3IA, C3IB))
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL03)
                    {
                        If (((C3TP > One) && (C3TP != 0x05)))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C3VE /* \C3VE */
                    PAR [One] = C3TP /* \C3TP */
                    PAR [0x03] = C3CV /* \C3CV */
                    PAR [0x04] = C3IC /* \C3IC */
                    PAR [0x06] = C3SP /* \C3SP */
                    PAR [0x08] = C3W0 /* \C3W0 */
                    PAR [0x09] = C3W1 /* \C3W1 */
                    PAR [0x0A] = C3W2 /* \C3W2 */
                    PAR [0x0B] = C3W3 /* \C3W3 */
                    PAR [0x0C] = C3W4 /* \C3W4 */
                    PAR [0x0D] = C3W5 /* \C3W5 */
                    Return (PAR) /* \_SB_.PC00.CLP3.CLDB.PAR_ */
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x29, 0x0D, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // ).......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    BPOS = C3PL /* \C3PL */
                    Return (PLDB) /* \_SB_.PC00.CLP3._PLD.PLDB */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x07                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (0x0B, C3IA, Zero, C3IB))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            I2CC = One
                            DEV0 = DSMI (0x0B, C3IA, Zero, C3IB)
                            Return (DSMB) /* \_SB_.PC00.CLP3._DSM.DSMB */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (CLP4)
            {
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (CL04)
                    {
                        If ((C4IB == 0x02))
                        {
                            Return (Package (0x01)
                            {
                                I2C2
                            })
                        }

                        If ((C4IB == 0x03))
                        {
                            Return (Package (0x01)
                            {
                                I2C3
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        PC00
                    })
                }

                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x0E)  // _UID: Unique ID
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Return (IICB (C4IA, C4IB))
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL04)
                    {
                        If (((C4TP > One) && (C4TP != 0x05)))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x04, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C4VE /* \C4VE */
                    PAR [One] = C4TP /* \C4TP */
                    PAR [0x03] = C4CV /* \C4CV */
                    PAR [0x04] = C4IC /* \C4IC */
                    PAR [0x06] = C4SP /* \C4SP */
                    PAR [0x08] = C4W0 /* \C4W0 */
                    PAR [0x09] = C4W1 /* \C4W1 */
                    PAR [0x0A] = C4W2 /* \C4W2 */
                    PAR [0x0B] = C4W3 /* \C4W3 */
                    PAR [0x0C] = C4W4 /* \C4W4 */
                    PAR [0x0D] = C4W5 /* \C4W5 */
                    Return (PAR) /* \_SB_.PC00.CLP4.CLDB.PAR_ */
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x29, 0x0D, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // ).......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    BPOS = C4PL /* \C4PL */
                    Return (PLDB) /* \_SB_.PC00.CLP4._PLD.PLDB */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x07                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (0x0B, C4IA, Zero, C4IB))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            I2CC = One
                            DEV0 = DSMI (0x0B, C4IA, Zero, C4IB)
                            Return (DSMB) /* \_SB_.PC00.CLP4._DSM.DSMB */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (CLP5)
            {
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (CL05)
                    {
                        If ((C5IB == 0x02))
                        {
                            Return (Package (0x01)
                            {
                                I2C2
                            })
                        }

                        If ((C5IB == 0x03))
                        {
                            Return (Package (0x01)
                            {
                                I2C3
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        PC00
                    })
                }

                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x0F)  // _UID: Unique ID
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Return (IICB (C5IA, C5IB))
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL05)
                    {
                        If (((C5TP > One) && (C5TP != 0x05)))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x05, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C5VE /* \C5VE */
                    PAR [One] = C5TP /* \C5TP */
                    PAR [0x03] = C5CV /* \C5CV */
                    PAR [0x04] = C5IC /* \C5IC */
                    PAR [0x06] = C5SP /* \C5SP */
                    PAR [0x08] = C5W0 /* \C5W0 */
                    PAR [0x09] = C5W1 /* \C5W1 */
                    PAR [0x0A] = C5W2 /* \C5W2 */
                    PAR [0x0B] = C5W3 /* \C5W3 */
                    PAR [0x0C] = C5W4 /* \C5W4 */
                    PAR [0x0D] = C5W5 /* \C5W5 */
                    Return (PAR) /* \_SB_.PC00.CLP5.CLDB.PAR_ */
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x29, 0x0D, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // ).......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    BPOS = C5PL /* \C5PL */
                    Return (PLDB) /* \_SB_.PC00.CLP5._PLD.PLDB */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x07                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (0x0B, C5IA, Zero, C5IB))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            I2CC = One
                            DEV0 = DSMI (0x0B, C5IA, Zero, C5IB)
                            Return (DSMB) /* \_SB_.PC00.CLP5._DSM.DSMB */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LTH0)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-LTH0")  // _DDN: DOS Device Name
                Name (_UID, 0x14)  // _UID: Unique ID
                If ((C0GP != Zero))
                {
                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        If ((C0GP > Zero))
                        {
                            ADBG (Concatenate ("Lontium HDMI 0 Input pin #1 is selected !!", ToHexString (C0F0)))
                            Switch (ToInteger (C0F0))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C0P0, C0C0, C0G0)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C0P0, C0C0, C0G0)
                                }
                                Default
                                {
                                    Local1 = PINR (C0P0, C0C0, C0G0)
                                }

                            }

                            Local0 = Local1
                        }

                        If ((C0GP > One))
                        {
                            ADBG (Concatenate ("Lontium HDMI 0 Input pin #2 is selected !!", ToHexString (C0F1)))
                            Switch (ToInteger (C0F1))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C0P1, C0C1, C0G1)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C0P1, C0C1, C0G1)
                                }
                                Default
                                {
                                    Local1 = PINR (C0P1, C0C1, C0G1)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C0GP > 0x02))
                        {
                            ADBG (Concatenate ("Lontium HDMI 0 Input pin #3 is selected !!", ToHexString (C0F2)))
                            Switch (ToInteger (C0F2))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C0P2, C0C2, C0G2)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C0P2, C0C2, C0G2)
                                }
                                Default
                                {
                                    Local1 = PINR (C0P2, C0C2, C0G2)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C0GP > 0x03))
                        {
                            ADBG (Concatenate ("Lontium HDMI 0 Input pin #4 is selected !!", ToHexString (C0F3)))
                            Switch (ToInteger (C0F3))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C0P3, C0C3, C0G3)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C0P3, C0C3, C0G3)
                                }
                                Default
                                {
                                    Local1 = PINR (C0P3, C0C3, C0G3)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL00)
                    {
                        If ((C0TP == 0x05))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C0VE /* \C0VE */
                    PAR [One] = C0TP /* \C0TP */
                    PAR [0x03] = C0CV /* \C0CV */
                    Return (PAR) /* \_SB_.PC00.LTH0.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C0GP) /* \C0GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C0F0, ((0x20 * C0G0) + C0P0), C0I0, C0A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C0F1, ((0x20 * C0G1) + C0P1), C0I1, C0A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C0F2, ((0x20 * C0G2) + C0P2), C0I2, C0A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C0F3, ((0x20 * C0G3) + C0P3), C0I3, C0A3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == One))
                        {
                            ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                One])))
                            ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                0x02])))
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LTH1)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-LTH1")  // _DDN: DOS Device Name
                Name (_UID, 0x15)  // _UID: Unique ID
                If ((C1GP != Zero))
                {
                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        If ((C1GP > Zero))
                        {
                            ADBG (Concatenate ("Lontium HDMI 1 Input pin #1 is selected !!", ToHexString (C1F0)))
                            Switch (ToInteger (C1F0))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C1P0, C1C0, C1G0)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C1P0, C1C0, C1G0)
                                }
                                Default
                                {
                                    Local1 = PINR (C1P0, C1C0, C1G0)
                                }

                            }

                            Local0 = Local1
                        }

                        If ((C1GP > One))
                        {
                            ADBG (Concatenate ("Lontium HDMI 1 Input pin #2 is selected !!", ToHexString (C1F1)))
                            Switch (ToInteger (C1F1))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C1P1, C1C1, C1G1)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C1P1, C1C1, C1G1)
                                }
                                Default
                                {
                                    Local1 = PINR (C1P1, C1C1, C1G1)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C1GP > 0x02))
                        {
                            ADBG (Concatenate ("Lontium HDMI 1 Input pin #3 is selected !!", ToHexString (C1F2)))
                            Switch (ToInteger (C1F2))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C1P2, C1C2, C1G2)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C1P2, C1C2, C1G2)
                                }
                                Default
                                {
                                    Local1 = PINR (C1P2, C1C2, C1G2)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C1GP > 0x03))
                        {
                            ADBG (Concatenate ("Lontium HDMI 1 Input pin #4 is selected !!", ToHexString (C1F3)))
                            Switch (ToInteger (C1F3))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C1P3, C1C3, C1G3)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C1P3, C1C3, C1G3)
                                }
                                Default
                                {
                                    Local1 = PINR (C1P3, C1C3, C1G3)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL01)
                    {
                        If ((C1TP == 0x05))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x01, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C1VE /* \C1VE */
                    PAR [One] = C1TP /* \C1TP */
                    PAR [0x03] = C1CV /* \C1CV */
                    Return (PAR) /* \_SB_.PC00.LTH1.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C1GP) /* \C1GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C1F0, ((0x20 * C1G0) + C1P0), C1I0, C1A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C1F1, ((0x20 * C1G1) + C1P1), C1I1, C1A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C1F2, ((0x20 * C1G2) + C1P2), C1I2, C1A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C1F3, ((0x20 * C1G3) + C1P3), C1I3, C1A3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == One))
                        {
                            ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                One])))
                            ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                0x02])))
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LTH2)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-LTH2")  // _DDN: DOS Device Name
                Name (_UID, 0x16)  // _UID: Unique ID
                If ((C2GP != Zero))
                {
                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        If ((C2GP > Zero))
                        {
                            ADBG (Concatenate ("Lontium HDMI 2 Input pin #1 is selected !!", ToHexString (C2F0)))
                            Switch (ToInteger (C2F0))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C2P0, C2C0, C2G0)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C2P0, C2C0, C2G0)
                                }
                                Default
                                {
                                    Local1 = PINR (C2P0, C2C0, C2G0)
                                }

                            }

                            Local0 = Local1
                        }

                        If ((C2GP > One))
                        {
                            ADBG (Concatenate ("Lontium HDMI 2 Input pin #2 is selected !!", ToHexString (C2F1)))
                            Switch (ToInteger (C2F1))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C2P1, C2C1, C2G1)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C2P1, C2C1, C2G1)
                                }
                                Default
                                {
                                    Local1 = PINR (C2P1, C2C1, C2G1)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C2GP > 0x02))
                        {
                            ADBG (Concatenate ("Lontium HDMI 2 Input pin #3 is selected !!", ToHexString (C2F2)))
                            Switch (ToInteger (C2F2))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C2P2, C2C2, C2G2)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C2P2, C2C2, C2G2)
                                }
                                Default
                                {
                                    Local1 = PINR (C2P2, C2C2, C2G2)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C2GP > 0x03))
                        {
                            ADBG (Concatenate ("Lontium HDMI 2 Input pin #4 is selected !!", ToHexString (C2F3)))
                            Switch (ToInteger (C2F3))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C2P3, C2C3, C2G3)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C2P3, C2C3, C2G3)
                                }
                                Default
                                {
                                    Local1 = PINR (C2P3, C2C3, C2G3)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL02)
                    {
                        If ((C2TP == 0x05))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x02, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C2VE /* \C2VE */
                    PAR [One] = C2TP /* \C2TP */
                    PAR [0x03] = C2CV /* \C2CV */
                    Return (PAR) /* \_SB_.PC00.LTH2.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C2GP) /* \C2GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C2F0, ((0x20 * C2G0) + C2P0), C2I0, C2A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C2F1, ((0x20 * C2G1) + C2P1), C2I1, C2A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C2F2, ((0x20 * C2G2) + C2P2), C2I2, C2A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C2F3, ((0x20 * C2G3) + C2P3), C2I3, C2A3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == One))
                        {
                            ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                One])))
                            ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                0x02])))
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LTH3)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-LTH3")  // _DDN: DOS Device Name
                Name (_UID, 0x17)  // _UID: Unique ID
                If ((C3GP != Zero))
                {
                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        If ((C3GP > Zero))
                        {
                            ADBG (Concatenate ("Lontium HDMI 3 Input pin #1 is selected !!", ToHexString (C3F0)))
                            Switch (ToInteger (C3F0))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C3P0, C3C0, C3G0)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C3P0, C3C0, C3G0)
                                }
                                Default
                                {
                                    Local1 = PINR (C3P0, C3C0, C3G0)
                                }

                            }

                            Local0 = Local1
                        }

                        If ((C3GP > One))
                        {
                            ADBG (Concatenate ("Lontium HDMI 3 Input pin #2 is selected !!", ToHexString (C3F1)))
                            Switch (ToInteger (C3F1))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C3P1, C3C1, C3G1)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C3P1, C3C1, C3G1)
                                }
                                Default
                                {
                                    Local1 = PINR (C3P1, C3C1, C3G1)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C3GP > 0x02))
                        {
                            ADBG (Concatenate ("Lontium HDMI 3 Input pin #3 is selected !!", ToHexString (C3F2)))
                            Switch (ToInteger (C3F2))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C3P2, C3C2, C3G2)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C3P2, C3C2, C3G2)
                                }
                                Default
                                {
                                    Local1 = PINR (C3P2, C3C2, C3G2)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C3GP > 0x03))
                        {
                            ADBG (Concatenate ("Lontium HDMI 3 Input pin #4 is selected !!", ToHexString (C3F3)))
                            Switch (ToInteger (C3F3))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C3P3, C3C3, C3G3)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C3P3, C3C3, C3G3)
                                }
                                Default
                                {
                                    Local1 = PINR (C3P3, C3C3, C3G3)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL03)
                    {
                        If ((C3TP == 0x05))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C3VE /* \C3VE */
                    PAR [One] = C3TP /* \C3TP */
                    PAR [0x03] = C3CV /* \C3CV */
                    Return (PAR) /* \_SB_.PC00.LTH3.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C3GP) /* \C3GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C3F0, ((0x20 * C3G0) + C3P0), C3I0, C3A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C3F1, ((0x20 * C3G1) + C3P1), C3I1, C3A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C3F2, ((0x20 * C3G2) + C3P2), C3I2, C3A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C3F3, ((0x20 * C3G3) + C3P3), C3I3, C3A3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == One))
                        {
                            ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                One])))
                            ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                0x02])))
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LTH4)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-LTH4")  // _DDN: DOS Device Name
                Name (_UID, 0x18)  // _UID: Unique ID
                If ((C4GP != Zero))
                {
                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        If ((C4GP > Zero))
                        {
                            ADBG (Concatenate ("Lontium HDMI 4 Input pin #1 is selected !!", ToHexString (C4F0)))
                            Switch (ToInteger (C4F0))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C4P0, C4C0, C4G0)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C4P0, C4C0, C4G0)
                                }
                                Default
                                {
                                    Local1 = PINR (C4P0, C4C0, C4G0)
                                }

                            }

                            Local0 = Local1
                        }

                        If ((C4GP > One))
                        {
                            ADBG (Concatenate ("Lontium HDMI 4 Input pin #2 is selected !!", ToHexString (C4F1)))
                            Switch (ToInteger (C4F1))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C4P1, C4C1, C4G1)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C4P1, C4C1, C4G1)
                                }
                                Default
                                {
                                    Local1 = PINR (C4P1, C4C1, C4G1)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C4GP > 0x02))
                        {
                            ADBG (Concatenate ("Lontium HDMI 4 Input pin #3 is selected !!", ToHexString (C4F2)))
                            Switch (ToInteger (C4F2))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C4P2, C4C2, C4G2)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C4P2, C4C2, C4G2)
                                }
                                Default
                                {
                                    Local1 = PINR (C4P2, C4C2, C4G2)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C4GP > 0x03))
                        {
                            ADBG (Concatenate ("Lontium HDMI 4 Input pin #4 is selected !!", ToHexString (C4F3)))
                            Switch (ToInteger (C4F3))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C4P3, C4C3, C4G3)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C4P3, C4C3, C4G3)
                                }
                                Default
                                {
                                    Local1 = PINR (C4P3, C4C3, C4G3)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL04)
                    {
                        If ((C4TP == 0x05))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x04, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C4VE /* \C4VE */
                    PAR [One] = C4TP /* \C4TP */
                    PAR [0x03] = C4CV /* \C4CV */
                    Return (PAR) /* \_SB_.PC00.LTH4.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C4GP) /* \C4GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C4F0, ((0x20 * C4G0) + C4P0), C4I0, C4A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C4F1, ((0x20 * C4G1) + C4P1), C4I1, C4A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C4F2, ((0x20 * C4G2) + C4P2), C4I2, C4A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C4F3, ((0x20 * C4G3) + C4P3), C4I3, C4A3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == One))
                        {
                            ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                One])))
                            ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                0x02])))
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LTH5)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-LTH5")  // _DDN: DOS Device Name
                Name (_UID, 0x19)  // _UID: Unique ID
                If ((C5GP != Zero))
                {
                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        If ((C5GP > Zero))
                        {
                            ADBG (Concatenate ("Lontium HDMI 5 Input pin #1 is selected !!", ToHexString (C5F0)))
                            Switch (ToInteger (C5F0))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C5P0, C5C0, C5G0)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C5P0, C5C0, C5G0)
                                }
                                Default
                                {
                                    Local1 = PINR (C5P0, C5C0, C5G0)
                                }

                            }

                            Local0 = Local1
                        }

                        If ((C5GP > One))
                        {
                            ADBG (Concatenate ("Lontium HDMI 5 Input pin #2 is selected !!", ToHexString (C5F1)))
                            Switch (ToInteger (C5F1))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C5P1, C5C1, C5G1)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C5P1, C5C1, C5G1)
                                }
                                Default
                                {
                                    Local1 = PINR (C5P1, C5C1, C5G1)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C5GP > 0x02))
                        {
                            ADBG (Concatenate ("Lontium HDMI 5 Input pin #3 is selected !!", ToHexString (C5F2)))
                            Switch (ToInteger (C5F2))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C5P2, C5C2, C5G2)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C5P2, C5C2, C5G2)
                                }
                                Default
                                {
                                    Local1 = PINR (C5P2, C5C2, C5G2)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C5GP > 0x03))
                        {
                            ADBG (Concatenate ("Lontium HDMI 5 Input pin #4 is selected !!", ToHexString (C5F3)))
                            Switch (ToInteger (C5F3))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C5P3, C5C3, C5G3)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C5P3, C5C3, C5G3)
                                }
                                Default
                                {
                                    Local1 = PINR (C5P3, C5C3, C5G3)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL05)
                    {
                        If ((C5TP == 0x05))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x05, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C5VE /* \C5VE */
                    PAR [One] = C5TP /* \C5TP */
                    PAR [0x03] = C5CV /* \C5CV */
                    Return (PAR) /* \_SB_.PC00.LTH5.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C5GP) /* \C5GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C5F0, ((0x20 * C5G0) + C5P0), C5I0, C5A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C5F1, ((0x20 * C5G1) + C5P1), C5I1, C5A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C5F2, ((0x20 * C5G2) + C5P2), C5I2, C5A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C5F3, ((0x20 * C5G3) + C5P3), C5I3, C5A3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == One))
                        {
                            ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                One])))
                            ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                0x02])))
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LNK0)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L0EN)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L0EN)
                    {
                        Return (CDEP (L0CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            PC00
                        })
                    }
                }

                Name (_UID, Zero)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (HCID (Zero))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (HCID (Zero))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = L0M0 /* \L0M0 */
                    BUF [One] = L0M1 /* \L0M1 */
                    BUF [0x02] = L0M2 /* \L0M2 */
                    BUF [0x03] = L0M3 /* \L0M3 */
                    BUF [0x04] = L0M4 /* \L0M4 */
                    BUF [0x05] = L0M5 /* \L0M5 */
                    BUF [0x06] = L0M6 /* \L0M6 */
                    BUF [0x07] = L0M7 /* \L0M7 */
                    BUF [0x08] = L0M8 /* \L0M8 */
                    BUF [0x09] = L0M9 /* \L0M9 */
                    BUF [0x0A] = L0MA /* \L0MA */
                    BUF [0x0B] = L0MB /* \L0MB */
                    BUF [0x0C] = L0MC /* \L0MC */
                    BUF [0x0D] = L0MD /* \L0MD */
                    BUF [0x0E] = L0ME /* \L0ME */
                    BUF [0x0F] = L0MF /* \L0MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0E, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    CreateField (DerefOf (PLDB [Zero]), 0x73, 0x04, RPOS)
                    BPOS = L0PL /* \L0PL */
                    RPOS = L0DG /* \L0DG */
                    Return (PLDB) /* \_SB_.PC00.LNK0._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((L0DI == Zero))
                    {
                        Return (Buffer (Zero){})
                    }
                    Else
                    {
                        If ((L0DI > Zero))
                        {
                            Local0 = IICB (L0A0, L0BS)
                        }

                        If ((L0DI > One))
                        {
                            Local1 = IICB (L0A1, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x02))
                        {
                            Local1 = IICB (L0A2, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x03))
                        {
                            Local1 = IICB (L0A3, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x04))
                        {
                            Local1 = IICB (L0A4, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x05))
                        {
                            Local1 = IICB (L0A5, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x06))
                        {
                            Local1 = IICB (L0A6, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x07))
                        {
                            Local1 = IICB (L0A7, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x08))
                        {
                            Local1 = IICB (L0A8, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x09))
                        {
                            Local1 = IICB (L0A9, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x0A))
                        {
                            Local1 = IICB (L0AA, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x0B))
                        {
                            Local1 = IICB (L0AB, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (SSDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x6C)
                    {
                        /* 0000 */  0x00, 0x00, 0x69, 0x56, 0x39, 0x8A, 0xF7, 0x11,  // ..iV9...
                        /* 0008 */  0xA9, 0x4E, 0x9C, 0x7D, 0x20, 0xEE, 0x0A, 0xB5,  // .N.} ...
                        /* 0010 */  0xCA, 0x40, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00,  // .@......
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0050 */  0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,  // ........
                        /* 0058 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0060 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0068 */  0x00, 0x00, 0x00, 0x00                           // ....
                    })
                    PAR [Zero] = L0DV /* \L0DV */
                    PAR [One] = L0CV /* \L0CV */
                    PAR [0x18] = L0LC /* \L0LC */
                    PAR [0x1C] = L0LU /* \L0LU */
                    PAR [0x1D] = L0NL /* \L0NL */
                    PAR [0x4E] = L0EE /* \L0EE */
                    PAR [0x4F] = L0VC /* \L0VC */
                    PAR [0x52] = L0FS /* \L0FS */
                    PAR [0x53] = L0LE /* \L0LE */
                    PAR [0x54] = CDEG (L0DG)
                    CreateDWordField (PAR, 0x56, DAT)
                    DAT = L0CK /* \L0CK */
                    PAR [0x5A] = L0CL /* \L0CL */
                    PAR [0x5F] = L0PP /* \L0PP */
                    PAR [0x60] = L0VR /* \L0VR */
                    PAR [0x63] = L0FI /* \L0FI */
                    Return (PAR) /* \_SB_.PC00.LNK0.SSDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (BUF, Buffer (0x10){})
                            BUF [Zero] = L0M0 /* \L0M0 */
                            BUF [One] = L0M1 /* \L0M1 */
                            BUF [0x02] = L0M2 /* \L0M2 */
                            BUF [0x03] = L0M3 /* \L0M3 */
                            BUF [0x04] = L0M4 /* \L0M4 */
                            BUF [0x05] = L0M5 /* \L0M5 */
                            BUF [0x06] = L0M6 /* \L0M6 */
                            BUF [0x07] = L0M7 /* \L0M7 */
                            BUF [0x08] = L0M8 /* \L0M8 */
                            BUF [0x09] = L0M9 /* \L0M9 */
                            BUF [0x0A] = L0MA /* \L0MA */
                            BUF [0x0B] = L0MB /* \L0MB */
                            BUF [0x0C] = L0MC /* \L0MC */
                            BUF [0x0D] = L0MD /* \L0MD */
                            BUF [0x0E] = L0ME /* \L0ME */
                            BUF [0x0F] = L0MF /* \L0MF */
                            Return (ToString (BUF, Ones))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            CreateDWordField (DSMB, 0x08, DEV1)
                            CreateDWordField (DSMB, 0x0C, DEV2)
                            CreateDWordField (DSMB, 0x10, DEV3)
                            CreateDWordField (DSMB, 0x14, DEV4)
                            CreateDWordField (DSMB, 0x18, DEV5)
                            CreateDWordField (DSMB, 0x1C, DEV6)
                            CreateDWordField (DSMB, 0x20, DEV7)
                            CreateDWordField (DSMB, 0x24, DEV8)
                            CreateDWordField (DSMB, 0x28, DEV9)
                            CreateDWordField (DSMB, 0x2C, DEVA)
                            CreateDWordField (DSMB, 0x30, DEVB)
                            I2CC = L0DI /* \L0DI */
                            DEV0 = DSMI (L0D0, L0A0, Zero, L0BS)
                            DEV1 = DSMI (L0D1, L0A1, Zero, L0BS)
                            DEV2 = DSMI (L0D2, L0A2, Zero, L0BS)
                            DEV3 = DSMI (L0D3, L0A3, Zero, L0BS)
                            DEV4 = DSMI (L0D4, L0A4, Zero, L0BS)
                            DEV5 = DSMI (L0D5, L0A5, Zero, L0BS)
                            DEV6 = DSMI (L0D6, L0A6, Zero, L0BS)
                            DEV7 = DSMI (L0D7, L0A7, Zero, L0BS)
                            DEV8 = DSMI (L0D8, L0A8, Zero, L0BS)
                            DEV9 = DSMI (L0D9, L0A9, Zero, L0BS)
                            DEVA = DSMI (L0DA, L0AA, Zero, L0BS)
                            DEVB = DSMI (L0DB, L0AB, Zero, L0BS)
                            Return (DSMB) /* \_SB_.PC00.LNK0._DSM.DSMB */
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L0DI) /* \L0DI */
                        }

                        If ((Arg2 == 0x02))
                        {
                            If ((L0DI > Zero))
                            {
                                Return (DSMI (L0D0, L0A0, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x03))
                        {
                            If ((L0DI > One))
                            {
                                Return (DSMI (L0D1, L0A1, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x04))
                        {
                            If ((L0DI > 0x02))
                            {
                                Return (DSMI (L0D2, L0A2, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x05))
                        {
                            If ((L0DI > 0x03))
                            {
                                Return (DSMI (L0D3, L0A3, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x06))
                        {
                            If ((L0DI > 0x04))
                            {
                                Return (DSMI (L0D4, L0A4, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x07))
                        {
                            If ((L0DI > 0x05))
                            {
                                Return (DSMI (L0D5, L0A5, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x08))
                        {
                            If ((L0DI > 0x06))
                            {
                                Return (DSMI (L0D6, L0A6, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x09))
                        {
                            If ((L0DI > 0x07))
                            {
                                Return (DSMI (L0D7, L0A7, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0A))
                        {
                            If ((L0DI > 0x08))
                            {
                                Return (DSMI (L0D8, L0A8, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0B))
                        {
                            If ((L0DI > 0x09))
                            {
                                Return (DSMI (L0D9, L0A9, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0C))
                        {
                            If ((L0DI > 0x0A))
                            {
                                Return (DSMI (L0DA, L0AA, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0D))
                        {
                            If ((L0DI > 0x0B))
                            {
                                Return (DSMI (L0DB, L0AB, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LNK1)
            {
                Name (CVSB, Package (0x01)
                {
                    "\\_SB.PC00.CVSS"
                })
                Name (PUSB, Package (0x02)
                {
                    "\\_SB.PC00.SPFD.CVFD", 
                    "\\_SB.PC00.XHCI.RHUB.VIC0"
                })
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L1EN)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L1EN)
                    {
                        If ((CVFS == One))
                        {
                            If (ARLP)
                            {
                                Return (CVSB) /* \_SB_.PC00.LNK1.CVSB */
                            }
                            Else
                            {
                                Return (PUSB) /* \_SB_.PC00.LNK1.PUSB */
                            }
                        }
                        Else
                        {
                            Return (CDEP (L1CL))
                        }
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            PC00
                        })
                    }
                }

                Name (_UID, One)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (HCID (One))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (HCID (One))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = L1M0 /* \L1M0 */
                    BUF [One] = L1M1 /* \L1M1 */
                    BUF [0x02] = L1M2 /* \L1M2 */
                    BUF [0x03] = L1M3 /* \L1M3 */
                    BUF [0x04] = L1M4 /* \L1M4 */
                    BUF [0x05] = L1M5 /* \L1M5 */
                    BUF [0x06] = L1M6 /* \L1M6 */
                    BUF [0x07] = L1M7 /* \L1M7 */
                    BUF [0x08] = L1M8 /* \L1M8 */
                    BUF [0x09] = L1M9 /* \L1M9 */
                    BUF [0x0A] = L1MA /* \L1MA */
                    BUF [0x0B] = L1MB /* \L1MB */
                    BUF [0x0C] = L1MC /* \L1MC */
                    BUF [0x0D] = L1MD /* \L1MD */
                    BUF [0x0E] = L1ME /* \L1ME */
                    BUF [0x0F] = L1MF /* \L1MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0E, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    CreateField (DerefOf (PLDB [Zero]), 0x73, 0x04, RPOS)
                    BPOS = L1PL /* \L1PL */
                    RPOS = L1DG /* \L1DG */
                    Return (PLDB) /* \_SB_.PC00.LNK1._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((ARLP == Zero))
                    {
                        If ((CVFS == One))
                        {
                            ADBG ("Returs Virtual I2C when USB based CVF is enabled")
                            Return (VIIC (L1A0, Zero))
                        }
                    }

                    If ((L1DI == Zero))
                    {
                        Return (Buffer (Zero){})
                    }
                    Else
                    {
                        If ((L1DI > Zero))
                        {
                            Local0 = IICB (L1A0, L1BS)
                        }

                        If ((L1DI > One))
                        {
                            Local1 = IICB (L1A1, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x02))
                        {
                            Local1 = IICB (L1A2, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x03))
                        {
                            Local1 = IICB (L1A3, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x04))
                        {
                            Local1 = IICB (L1A4, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x05))
                        {
                            Local1 = IICB (L1A5, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x06))
                        {
                            Local1 = IICB (L1A6, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x07))
                        {
                            Local1 = IICB (L1A7, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x08))
                        {
                            Local1 = IICB (L1A8, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x09))
                        {
                            Local1 = IICB (L1A9, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x0A))
                        {
                            Local1 = IICB (L1AA, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x0B))
                        {
                            Local1 = IICB (L1AB, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (SSDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x6C)
                    {
                        /* 0000 */  0x00, 0x00, 0x69, 0x56, 0x39, 0x8A, 0xF7, 0x11,  // ..iV9...
                        /* 0008 */  0xA9, 0x4E, 0x9C, 0x7D, 0x20, 0xEE, 0x0A, 0xB5,  // .N.} ...
                        /* 0010 */  0xCA, 0x40, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00,  // .@......
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0050 */  0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,  // ........
                        /* 0058 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0060 */  0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0068 */  0x00, 0x00, 0x00, 0x00                           // ....
                    })
                    PAR [Zero] = L1DV /* \L1DV */
                    PAR [One] = L1CV /* \L1CV */
                    PAR [0x18] = L1LC /* \L1LC */
                    PAR [0x1C] = L1LU /* \L1LU */
                    PAR [0x1D] = L1NL /* \L1NL */
                    PAR [0x4E] = L1EE /* \L1EE */
                    PAR [0x4F] = L1VC /* \L1VC */
                    PAR [0x52] = L1FS /* \L1FS */
                    PAR [0x53] = L1LE /* \L1LE */
                    PAR [0x54] = CDEG (L1DG)
                    CreateDWordField (PAR, 0x56, DAT)
                    DAT = L1CK /* \L1CK */
                    PAR [0x5A] = L1CL /* \L1CL */
                    PAR [0x5F] = L1PP /* \L1PP */
                    PAR [0x60] = L1VR /* \L1VR */
                    PAR [0x63] = L1FI /* \L1FI */
                    Return (PAR) /* \_SB_.PC00.LNK1.SSDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (BUF, Buffer (0x10){})
                            BUF [Zero] = L1M0 /* \L1M0 */
                            BUF [One] = L1M1 /* \L1M1 */
                            BUF [0x02] = L1M2 /* \L1M2 */
                            BUF [0x03] = L1M3 /* \L1M3 */
                            BUF [0x04] = L1M4 /* \L1M4 */
                            BUF [0x05] = L1M5 /* \L1M5 */
                            BUF [0x06] = L1M6 /* \L1M6 */
                            BUF [0x07] = L1M7 /* \L1M7 */
                            BUF [0x08] = L1M8 /* \L1M8 */
                            BUF [0x09] = L1M9 /* \L1M9 */
                            BUF [0x0A] = L1MA /* \L1MA */
                            BUF [0x0B] = L1MB /* \L1MB */
                            BUF [0x0C] = L1MC /* \L1MC */
                            BUF [0x0D] = L1MD /* \L1MD */
                            BUF [0x0E] = L1ME /* \L1ME */
                            BUF [0x0F] = L1MF /* \L1MF */
                            Return (ToString (BUF, Ones))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            CreateDWordField (DSMB, 0x08, DEV1)
                            CreateDWordField (DSMB, 0x0C, DEV2)
                            CreateDWordField (DSMB, 0x10, DEV3)
                            CreateDWordField (DSMB, 0x14, DEV4)
                            CreateDWordField (DSMB, 0x18, DEV5)
                            CreateDWordField (DSMB, 0x1C, DEV6)
                            CreateDWordField (DSMB, 0x20, DEV7)
                            CreateDWordField (DSMB, 0x24, DEV8)
                            CreateDWordField (DSMB, 0x28, DEV9)
                            CreateDWordField (DSMB, 0x2C, DEVA)
                            CreateDWordField (DSMB, 0x30, DEVB)
                            I2CC = L1DI /* \L1DI */
                            DEV0 = DSMI (L1D0, L1A0, Zero, L1BS)
                            DEV1 = DSMI (L1D1, L1A1, Zero, L1BS)
                            DEV2 = DSMI (L1D2, L1A2, Zero, L1BS)
                            DEV3 = DSMI (L1D3, L1A3, Zero, L1BS)
                            DEV4 = DSMI (L1D4, L1A4, Zero, L1BS)
                            DEV5 = DSMI (L1D5, L1A5, Zero, L1BS)
                            DEV6 = DSMI (L1D6, L1A6, Zero, L1BS)
                            DEV7 = DSMI (L1D7, L1A7, Zero, L1BS)
                            DEV8 = DSMI (L1D8, L1A8, Zero, L1BS)
                            DEV9 = DSMI (L1D9, L1A9, Zero, L1BS)
                            DEVA = DSMI (L1DA, L1AA, Zero, L1BS)
                            DEVB = DSMI (L1DB, L1AB, Zero, L1BS)
                            Return (DSMB) /* \_SB_.PC00.LNK1._DSM.DSMB */
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L1DI) /* \L1DI */
                        }

                        If ((Arg2 == 0x02))
                        {
                            If ((L1DI > Zero))
                            {
                                Return (DSMI (L1D0, L1A0, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x03))
                        {
                            If ((L1DI > One))
                            {
                                Return (DSMI (L1D1, L1A1, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x04))
                        {
                            If ((L1DI > 0x02))
                            {
                                Return (DSMI (L1D2, L1A2, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x05))
                        {
                            If ((L1DI > 0x03))
                            {
                                Return (DSMI (L1D3, L1A3, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x06))
                        {
                            If ((L1DI > 0x04))
                            {
                                Return (DSMI (L1D4, L1A4, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x07))
                        {
                            If ((L1DI > 0x05))
                            {
                                Return (DSMI (L1D5, L1A5, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x08))
                        {
                            If ((L1DI > 0x06))
                            {
                                Return (DSMI (L1D6, L1A6, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x09))
                        {
                            If ((L1DI > 0x07))
                            {
                                Return (DSMI (L1D7, L1A7, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0A))
                        {
                            If ((L1DI > 0x08))
                            {
                                Return (DSMI (L1D8, L1A8, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0B))
                        {
                            If ((L1DI > 0x09))
                            {
                                Return (DSMI (L1D9, L1A9, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0C))
                        {
                            If ((L1DI > 0x0A))
                            {
                                Return (DSMI (L1DA, L1AA, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0D))
                        {
                            If ((L1DI > 0x0B))
                            {
                                Return (DSMI (L1DB, L1AB, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    If ((Arg0 == ToUUID ("02f55f0c-2e63-4f05-84f3-bf1980f9af79") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (CVFS) /* \CVFS */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LNK2)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L2EN)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L2EN)
                    {
                        Return (CDEP (L2CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            PC00
                        })
                    }
                }

                Name (_UID, 0x02)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (HCID (0x02))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (HCID (0x02))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = L2M0 /* \L2M0 */
                    BUF [One] = L2M1 /* \L2M1 */
                    BUF [0x02] = L2M2 /* \L2M2 */
                    BUF [0x03] = L2M3 /* \L2M3 */
                    BUF [0x04] = L2M4 /* \L2M4 */
                    BUF [0x05] = L2M5 /* \L2M5 */
                    BUF [0x06] = L2M6 /* \L2M6 */
                    BUF [0x07] = L2M7 /* \L2M7 */
                    BUF [0x08] = L2M8 /* \L2M8 */
                    BUF [0x09] = L2M9 /* \L2M9 */
                    BUF [0x0A] = L2MA /* \L2MA */
                    BUF [0x0B] = L2MB /* \L2MB */
                    BUF [0x0C] = L2MC /* \L2MC */
                    BUF [0x0D] = L2MD /* \L2MD */
                    BUF [0x0E] = L2ME /* \L2ME */
                    BUF [0x0F] = L2MF /* \L2MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0E, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    CreateField (DerefOf (PLDB [Zero]), 0x73, 0x04, RPOS)
                    BPOS = L2PL /* \L2PL */
                    RPOS = L2DG /* \L2DG */
                    Return (PLDB) /* \_SB_.PC00.LNK2._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((L2DI == Zero))
                    {
                        Return (Buffer (Zero){})
                    }
                    Else
                    {
                        If ((L2DI > Zero))
                        {
                            Local0 = IICB (L2A0, L2BS)
                        }

                        If ((L2DI > One))
                        {
                            Local1 = IICB (L2A1, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x02))
                        {
                            Local1 = IICB (L2A2, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x03))
                        {
                            Local1 = IICB (L2A3, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x04))
                        {
                            Local1 = IICB (L2A4, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x05))
                        {
                            Local1 = IICB (L2A5, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x06))
                        {
                            Local1 = IICB (L2A6, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x07))
                        {
                            Local1 = IICB (L2A7, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x08))
                        {
                            Local1 = IICB (L2A8, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x09))
                        {
                            Local1 = IICB (L2A9, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x0A))
                        {
                            Local1 = IICB (L2AA, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x0B))
                        {
                            Local1 = IICB (L2AB, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (SSDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x6C)
                    {
                        /* 0000 */  0x00, 0x00, 0x69, 0x56, 0x39, 0x8A, 0xF7, 0x11,  // ..iV9...
                        /* 0008 */  0xA9, 0x4E, 0x9C, 0x7D, 0x20, 0xEE, 0x0A, 0xB5,  // .N.} ...
                        /* 0010 */  0xCA, 0x40, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00,  // .@......
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0050 */  0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,  // ........
                        /* 0058 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0060 */  0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0068 */  0x00, 0x00, 0x00, 0x00                           // ....
                    })
                    PAR [Zero] = L2DV /* \L2DV */
                    PAR [One] = L2CV /* \L2CV */
                    PAR [0x18] = L2LC /* \L2LC */
                    PAR [0x1C] = L2LU /* \L2LU */
                    PAR [0x1D] = L2NL /* \L2NL */
                    PAR [0x4E] = L2EE /* \L2EE */
                    PAR [0x4F] = L2VC /* \L2VC */
                    PAR [0x52] = L2FS /* \L2FS */
                    PAR [0x53] = L2LE /* \L2LE */
                    PAR [0x54] = CDEG (L2DG)
                    CreateDWordField (PAR, 0x56, DAT)
                    DAT = L2CK /* \L2CK */
                    PAR [0x5A] = L2CL /* \L2CL */
                    PAR [0x5F] = L2PP /* \L2PP */
                    PAR [0x60] = L2VR /* \L2VR */
                    PAR [0x63] = L2FI /* \L2FI */
                    Return (PAR) /* \_SB_.PC00.LNK2.SSDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (BUF, Buffer (0x10){})
                            BUF [Zero] = L2M0 /* \L2M0 */
                            BUF [One] = L2M1 /* \L2M1 */
                            BUF [0x02] = L2M2 /* \L2M2 */
                            BUF [0x03] = L2M3 /* \L2M3 */
                            BUF [0x04] = L2M4 /* \L2M4 */
                            BUF [0x05] = L2M5 /* \L2M5 */
                            BUF [0x06] = L2M6 /* \L2M6 */
                            BUF [0x07] = L2M7 /* \L2M7 */
                            BUF [0x08] = L2M8 /* \L2M8 */
                            BUF [0x09] = L2M9 /* \L2M9 */
                            BUF [0x0A] = L2MA /* \L2MA */
                            BUF [0x0B] = L2MB /* \L2MB */
                            BUF [0x0C] = L2MC /* \L2MC */
                            BUF [0x0D] = L2MD /* \L2MD */
                            BUF [0x0E] = L2ME /* \L2ME */
                            BUF [0x0F] = L2MF /* \L2MF */
                            Return (ToString (BUF, Ones))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            CreateDWordField (DSMB, 0x08, DEV1)
                            CreateDWordField (DSMB, 0x0C, DEV2)
                            CreateDWordField (DSMB, 0x10, DEV3)
                            CreateDWordField (DSMB, 0x14, DEV4)
                            CreateDWordField (DSMB, 0x18, DEV5)
                            CreateDWordField (DSMB, 0x1C, DEV6)
                            CreateDWordField (DSMB, 0x20, DEV7)
                            CreateDWordField (DSMB, 0x24, DEV8)
                            CreateDWordField (DSMB, 0x28, DEV9)
                            CreateDWordField (DSMB, 0x2C, DEVA)
                            CreateDWordField (DSMB, 0x30, DEVB)
                            I2CC = L2DI /* \L2DI */
                            DEV0 = DSMI (L2D0, L2A0, Zero, L2BS)
                            DEV1 = DSMI (L2D1, L2A1, Zero, L2BS)
                            DEV2 = DSMI (L2D2, L2A2, Zero, L2BS)
                            DEV3 = DSMI (L2D3, L2A3, Zero, L2BS)
                            DEV4 = DSMI (L2D4, L2A4, Zero, L2BS)
                            DEV5 = DSMI (L2D5, L2A5, Zero, L2BS)
                            DEV6 = DSMI (L2D6, L2A6, Zero, L2BS)
                            DEV7 = DSMI (L2D7, L2A7, Zero, L2BS)
                            DEV8 = DSMI (L2D8, L2A8, Zero, L2BS)
                            DEV9 = DSMI (L2D9, L2A9, Zero, L2BS)
                            DEVA = DSMI (L2DA, L2AA, Zero, L2BS)
                            DEVB = DSMI (L2DB, L2AB, Zero, L2BS)
                            Return (DSMB) /* \_SB_.PC00.LNK2._DSM.DSMB */
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L2DI) /* \L2DI */
                        }

                        If ((Arg2 == 0x02))
                        {
                            If ((L2DI > Zero))
                            {
                                Return (DSMI (L2D0, L2A0, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x03))
                        {
                            If ((L2DI > One))
                            {
                                Return (DSMI (L2D1, L2A1, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x04))
                        {
                            If ((L2DI > 0x02))
                            {
                                Return (DSMI (L2D2, L2A2, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x05))
                        {
                            If ((L2DI > 0x03))
                            {
                                Return (DSMI (L2D3, L2A3, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x06))
                        {
                            If ((L2DI > 0x04))
                            {
                                Return (DSMI (L2D4, L2A4, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x07))
                        {
                            If ((L2DI > 0x05))
                            {
                                Return (DSMI (L2D5, L2A5, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x08))
                        {
                            If ((L2DI > 0x06))
                            {
                                Return (DSMI (L2D6, L2A6, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x09))
                        {
                            If ((L2DI > 0x07))
                            {
                                Return (DSMI (L2D7, L2A7, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0A))
                        {
                            If ((L2DI > 0x08))
                            {
                                Return (DSMI (L2D8, L2A8, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0B))
                        {
                            If ((L2DI > 0x09))
                            {
                                Return (DSMI (L2D9, L2A9, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0C))
                        {
                            If ((L2DI > 0x0A))
                            {
                                Return (DSMI (L2DA, L2AA, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0D))
                        {
                            If ((L2DI > 0x0B))
                            {
                                Return (DSMI (L2DB, L2AB, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LNK3)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L3EN)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L3EN)
                    {
                        Return (CDEP (L3CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            PC00
                        })
                    }
                }

                Name (_UID, 0x03)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (HCID (0x03))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (HCID (0x03))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = L3M0 /* \L3M0 */
                    BUF [One] = L3M1 /* \L3M1 */
                    BUF [0x02] = L3M2 /* \L3M2 */
                    BUF [0x03] = L3M3 /* \L3M3 */
                    BUF [0x04] = L3M4 /* \L3M4 */
                    BUF [0x05] = L3M5 /* \L3M5 */
                    BUF [0x06] = L3M6 /* \L3M6 */
                    BUF [0x07] = L3M7 /* \L3M7 */
                    BUF [0x08] = L3M8 /* \L3M8 */
                    BUF [0x09] = L3M9 /* \L3M9 */
                    BUF [0x0A] = L3MA /* \L3MA */
                    BUF [0x0B] = L3MB /* \L3MB */
                    BUF [0x0C] = L3MC /* \L3MC */
                    BUF [0x0D] = L3MD /* \L3MD */
                    BUF [0x0E] = L3ME /* \L3ME */
                    BUF [0x0F] = L3MF /* \L3MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0E, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    CreateField (DerefOf (PLDB [Zero]), 0x73, 0x04, RPOS)
                    BPOS = L3PL /* \L3PL */
                    RPOS = L3DG /* \L3DG */
                    Return (PLDB) /* \_SB_.PC00.LNK3._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((L3DI == Zero))
                    {
                        Return (Buffer (Zero){})
                    }
                    Else
                    {
                        If ((L3DI > Zero))
                        {
                            Local0 = IICB (L3A0, L3BS)
                        }

                        If ((L3DI > One))
                        {
                            Local1 = IICB (L3A1, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x02))
                        {
                            Local1 = IICB (L3A2, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x03))
                        {
                            Local1 = IICB (L3A3, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x04))
                        {
                            Local1 = IICB (L3A4, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x05))
                        {
                            Local1 = IICB (L3A5, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x06))
                        {
                            Local1 = IICB (L3A6, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x07))
                        {
                            Local1 = IICB (L3A7, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x08))
                        {
                            Local1 = IICB (L3A8, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x09))
                        {
                            Local1 = IICB (L3A9, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x0A))
                        {
                            Local1 = IICB (L3AA, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x0B))
                        {
                            Local1 = IICB (L3AB, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (SSDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x6C)
                    {
                        /* 0000 */  0x00, 0x00, 0x69, 0x56, 0x39, 0x8A, 0xF7, 0x11,  // ..iV9...
                        /* 0008 */  0xA9, 0x4E, 0x9C, 0x7D, 0x20, 0xEE, 0x0A, 0xB5,  // .N.} ...
                        /* 0010 */  0xCA, 0x40, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00,  // .@......
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0050 */  0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,  // ........
                        /* 0058 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0060 */  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0068 */  0x00, 0x00, 0x00, 0x00                           // ....
                    })
                    PAR [Zero] = L3DV /* \L3DV */
                    PAR [One] = L3CV /* \L3CV */
                    PAR [0x18] = L3LC /* \L3LC */
                    PAR [0x1C] = L3LU /* \L3LU */
                    PAR [0x1D] = L3NL /* \L3NL */
                    PAR [0x4E] = L3EE /* \L3EE */
                    PAR [0x4F] = L3VC /* \L3VC */
                    PAR [0x52] = L3FS /* \L3FS */
                    PAR [0x53] = L3LE /* \L3LE */
                    PAR [0x54] = CDEG (L3DG)
                    CreateDWordField (PAR, 0x56, DAT)
                    DAT = L3CK /* \L3CK */
                    PAR [0x5A] = L3CL /* \L3CL */
                    PAR [0x5F] = L3PP /* \L3PP */
                    PAR [0x60] = L3VR /* \L3VR */
                    PAR [0x63] = L3FI /* \L3FI */
                    Return (PAR) /* \_SB_.PC00.LNK3.SSDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (BUF, Buffer (0x10){})
                            BUF [Zero] = L3M0 /* \L3M0 */
                            BUF [One] = L3M1 /* \L3M1 */
                            BUF [0x02] = L3M2 /* \L3M2 */
                            BUF [0x03] = L3M3 /* \L3M3 */
                            BUF [0x04] = L3M4 /* \L3M4 */
                            BUF [0x05] = L3M5 /* \L3M5 */
                            BUF [0x06] = L3M6 /* \L3M6 */
                            BUF [0x07] = L3M7 /* \L3M7 */
                            BUF [0x08] = L3M8 /* \L3M8 */
                            BUF [0x09] = L3M9 /* \L3M9 */
                            BUF [0x0A] = L3MA /* \L3MA */
                            BUF [0x0B] = L3MB /* \L3MB */
                            BUF [0x0C] = L3MC /* \L3MC */
                            BUF [0x0D] = L3MD /* \L3MD */
                            BUF [0x0E] = L3ME /* \L3ME */
                            BUF [0x0F] = L3MF /* \L3MF */
                            Return (ToString (BUF, Ones))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            CreateDWordField (DSMB, 0x08, DEV1)
                            CreateDWordField (DSMB, 0x0C, DEV2)
                            CreateDWordField (DSMB, 0x10, DEV3)
                            CreateDWordField (DSMB, 0x14, DEV4)
                            CreateDWordField (DSMB, 0x18, DEV5)
                            CreateDWordField (DSMB, 0x1C, DEV6)
                            CreateDWordField (DSMB, 0x20, DEV7)
                            CreateDWordField (DSMB, 0x24, DEV8)
                            CreateDWordField (DSMB, 0x28, DEV9)
                            CreateDWordField (DSMB, 0x2C, DEVA)
                            CreateDWordField (DSMB, 0x30, DEVB)
                            I2CC = L3DI /* \L3DI */
                            DEV0 = DSMI (L3D0, L3A0, Zero, L3BS)
                            DEV1 = DSMI (L3D1, L3A1, Zero, L3BS)
                            DEV2 = DSMI (L3D2, L3A2, Zero, L3BS)
                            DEV3 = DSMI (L3D3, L3A3, Zero, L3BS)
                            DEV4 = DSMI (L3D4, L3A4, Zero, L3BS)
                            DEV5 = DSMI (L3D5, L3A5, Zero, L3BS)
                            DEV6 = DSMI (L3D6, L3A6, Zero, L3BS)
                            DEV7 = DSMI (L3D7, L3A7, Zero, L3BS)
                            DEV8 = DSMI (L3D8, L3A8, Zero, L3BS)
                            DEV9 = DSMI (L3D9, L3A9, Zero, L3BS)
                            DEVA = DSMI (L3DA, L3AA, Zero, L3BS)
                            DEVB = DSMI (L3DB, L3AB, Zero, L3BS)
                            Return (DSMB) /* \_SB_.PC00.LNK3._DSM.DSMB */
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L3DI) /* \L3DI */
                        }

                        If ((Arg2 == 0x02))
                        {
                            If ((L3DI > Zero))
                            {
                                Return (DSMI (L3D0, L3A0, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x03))
                        {
                            If ((L3DI > One))
                            {
                                Return (DSMI (L3D1, L3A1, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x04))
                        {
                            If ((L3DI > 0x02))
                            {
                                Return (DSMI (L3D2, L3A2, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x05))
                        {
                            If ((L3DI > 0x03))
                            {
                                Return (DSMI (L3D3, L3A3, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x06))
                        {
                            If ((L3DI > 0x04))
                            {
                                Return (DSMI (L3D4, L3A4, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x07))
                        {
                            If ((L3DI > 0x05))
                            {
                                Return (DSMI (L3D5, L3A5, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x08))
                        {
                            If ((L3DI > 0x06))
                            {
                                Return (DSMI (L3D6, L3A6, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x09))
                        {
                            If ((L3DI > 0x07))
                            {
                                Return (DSMI (L3D7, L3A7, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0A))
                        {
                            If ((L3DI > 0x08))
                            {
                                Return (DSMI (L3D8, L3A8, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0B))
                        {
                            If ((L3DI > 0x09))
                            {
                                Return (DSMI (L3D9, L3A9, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0C))
                        {
                            If ((L3DI > 0x0A))
                            {
                                Return (DSMI (L3DA, L3AA, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0D))
                        {
                            If ((L3DI > 0x0B))
                            {
                                Return (DSMI (L3DB, L3AB, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LNK4)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L4EN)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L4EN)
                    {
                        Return (CDEP (L4CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            PC00
                        })
                    }
                }

                Name (_UID, 0x04)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (HCID (0x04))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (HCID (0x04))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = L4M0 /* \L4M0 */
                    BUF [One] = L4M1 /* \L4M1 */
                    BUF [0x02] = L4M2 /* \L4M2 */
                    BUF [0x03] = L4M3 /* \L4M3 */
                    BUF [0x04] = L4M4 /* \L4M4 */
                    BUF [0x05] = L4M5 /* \L4M5 */
                    BUF [0x06] = L4M6 /* \L4M6 */
                    BUF [0x07] = L4M7 /* \L4M7 */
                    BUF [0x08] = L4M8 /* \L4M8 */
                    BUF [0x09] = L4M9 /* \L4M9 */
                    BUF [0x0A] = L4MA /* \L4MA */
                    BUF [0x0B] = L4MB /* \L4MB */
                    BUF [0x0C] = L4MC /* \L4MC */
                    BUF [0x0D] = L4MD /* \L4MD */
                    BUF [0x0E] = L4ME /* \L4ME */
                    BUF [0x0F] = L4MF /* \L4MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0E, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    CreateField (DerefOf (PLDB [Zero]), 0x73, 0x04, RPOS)
                    BPOS = L4PL /* \L4PL */
                    RPOS = L4DG /* \L4DG */
                    Return (PLDB) /* \_SB_.PC00.LNK4._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((L4DI == Zero))
                    {
                        Return (Buffer (Zero){})
                    }
                    Else
                    {
                        If ((L4DI > Zero))
                        {
                            Local0 = IICB (L4A0, L4BS)
                        }

                        If ((L4DI > One))
                        {
                            Local1 = IICB (L4A1, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x02))
                        {
                            Local1 = IICB (L4A2, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x03))
                        {
                            Local1 = IICB (L4A3, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x04))
                        {
                            Local1 = IICB (L4A4, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x05))
                        {
                            Local1 = IICB (L4A5, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x06))
                        {
                            Local1 = IICB (L4A6, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x07))
                        {
                            Local1 = IICB (L4A7, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x08))
                        {
                            Local1 = IICB (L4A8, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x09))
                        {
                            Local1 = IICB (L4A9, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x0A))
                        {
                            Local1 = IICB (L4AA, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x0B))
                        {
                            Local1 = IICB (L4AB, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (SSDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x6C)
                    {
                        /* 0000 */  0x00, 0x00, 0x69, 0x56, 0x39, 0x8A, 0xF7, 0x11,  // ..iV9...
                        /* 0008 */  0xA9, 0x4E, 0x9C, 0x7D, 0x20, 0xEE, 0x0A, 0xB5,  // .N.} ...
                        /* 0010 */  0xCA, 0x40, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00,  // .@......
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0050 */  0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,  // ........
                        /* 0058 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0060 */  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0068 */  0x00, 0x00, 0x00, 0x00                           // ....
                    })
                    PAR [Zero] = L4DV /* \L4DV */
                    PAR [One] = L4CV /* \L4CV */
                    PAR [0x18] = L4LC /* \L4LC */
                    PAR [0x1C] = L4LU /* \L4LU */
                    PAR [0x1D] = L4NL /* \L4NL */
                    PAR [0x4E] = L4EE /* \L4EE */
                    PAR [0x4F] = L4VC /* \L4VC */
                    PAR [0x52] = L4FS /* \L4FS */
                    PAR [0x53] = L4LE /* \L4LE */
                    PAR [0x54] = CDEG (L4DG)
                    CreateDWordField (PAR, 0x56, DAT)
                    DAT = L4CK /* \L4CK */
                    PAR [0x5A] = L4CL /* \L4CL */
                    PAR [0x5F] = L4PP /* \L4PP */
                    PAR [0x60] = L4VR /* \L4VR */
                    PAR [0x63] = L4FI /* \L4FI */
                    Return (PAR) /* \_SB_.PC00.LNK4.SSDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (BUF, Buffer (0x10){})
                            BUF [Zero] = L4M0 /* \L4M0 */
                            BUF [One] = L4M1 /* \L4M1 */
                            BUF [0x02] = L4M2 /* \L4M2 */
                            BUF [0x03] = L4M3 /* \L4M3 */
                            BUF [0x04] = L4M4 /* \L4M4 */
                            BUF [0x05] = L4M5 /* \L4M5 */
                            BUF [0x06] = L4M6 /* \L4M6 */
                            BUF [0x07] = L4M7 /* \L4M7 */
                            BUF [0x08] = L4M8 /* \L4M8 */
                            BUF [0x09] = L4M9 /* \L4M9 */
                            BUF [0x0A] = L4MA /* \L4MA */
                            BUF [0x0B] = L4MB /* \L4MB */
                            BUF [0x0C] = L4MC /* \L4MC */
                            BUF [0x0D] = L4MD /* \L4MD */
                            BUF [0x0E] = L4ME /* \L4ME */
                            BUF [0x0F] = L4MF /* \L4MF */
                            Return (ToString (BUF, Ones))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            CreateDWordField (DSMB, 0x08, DEV1)
                            CreateDWordField (DSMB, 0x0C, DEV2)
                            CreateDWordField (DSMB, 0x10, DEV3)
                            CreateDWordField (DSMB, 0x14, DEV4)
                            CreateDWordField (DSMB, 0x18, DEV5)
                            CreateDWordField (DSMB, 0x1C, DEV6)
                            CreateDWordField (DSMB, 0x20, DEV7)
                            CreateDWordField (DSMB, 0x24, DEV8)
                            CreateDWordField (DSMB, 0x28, DEV9)
                            CreateDWordField (DSMB, 0x2C, DEVA)
                            CreateDWordField (DSMB, 0x30, DEVB)
                            I2CC = L4DI /* \L4DI */
                            DEV0 = DSMI (L4D0, L4A0, Zero, L4BS)
                            DEV1 = DSMI (L4D1, L4A1, Zero, L4BS)
                            DEV2 = DSMI (L4D2, L4A2, Zero, L4BS)
                            DEV3 = DSMI (L4D3, L4A3, Zero, L4BS)
                            DEV4 = DSMI (L4D4, L4A4, Zero, L4BS)
                            DEV5 = DSMI (L4D5, L4A5, Zero, L4BS)
                            DEV6 = DSMI (L4D6, L4A6, Zero, L4BS)
                            DEV7 = DSMI (L4D7, L4A7, Zero, L4BS)
                            DEV8 = DSMI (L4D8, L4A8, Zero, L4BS)
                            DEV9 = DSMI (L4D9, L4A9, Zero, L4BS)
                            DEVA = DSMI (L4DA, L4AA, Zero, L4BS)
                            DEVB = DSMI (L4DB, L4AB, Zero, L4BS)
                            Return (DSMB) /* \_SB_.PC00.LNK4._DSM.DSMB */
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L4DI) /* \L4DI */
                        }

                        If ((Arg2 == 0x02))
                        {
                            If ((L4DI > Zero))
                            {
                                Return (DSMI (L4D0, L4A0, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x03))
                        {
                            If ((L4DI > One))
                            {
                                Return (DSMI (L4D1, L4A1, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x04))
                        {
                            If ((L4DI > 0x02))
                            {
                                Return (DSMI (L4D2, L4A2, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x05))
                        {
                            If ((L4DI > 0x03))
                            {
                                Return (DSMI (L4D3, L4A3, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x06))
                        {
                            If ((L4DI > 0x04))
                            {
                                Return (DSMI (L4D4, L4A4, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x07))
                        {
                            If ((L4DI > 0x05))
                            {
                                Return (DSMI (L4D5, L4A5, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x08))
                        {
                            If ((L4DI > 0x06))
                            {
                                Return (DSMI (L4D6, L4A6, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x09))
                        {
                            If ((L4DI > 0x07))
                            {
                                Return (DSMI (L4D7, L3A7, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0A))
                        {
                            If ((L4DI > 0x08))
                            {
                                Return (DSMI (L4D8, L3A8, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0B))
                        {
                            If ((L4DI > 0x09))
                            {
                                Return (DSMI (L4D9, L4A9, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0C))
                        {
                            If ((L4DI > 0x0A))
                            {
                                Return (DSMI (L4DA, L4AA, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0D))
                        {
                            If ((L4DI > 0x0B))
                            {
                                Return (DSMI (L4DB, L4AB, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LNK5)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L5EN)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L5EN)
                    {
                        Return (CDEP (L5CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            PC00
                        })
                    }
                }

                Name (_UID, 0x05)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (HCID (0x05))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (HCID (0x05))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = L5M0 /* \L5M0 */
                    BUF [One] = L5M1 /* \L5M1 */
                    BUF [0x02] = L5M2 /* \L5M2 */
                    BUF [0x03] = L5M3 /* \L5M3 */
                    BUF [0x04] = L5M4 /* \L5M4 */
                    BUF [0x05] = L5M5 /* \L5M5 */
                    BUF [0x06] = L5M6 /* \L5M6 */
                    BUF [0x07] = L5M7 /* \L5M7 */
                    BUF [0x08] = L5M8 /* \L5M8 */
                    BUF [0x09] = L5M9 /* \L5M9 */
                    BUF [0x0A] = L5MA /* \L5MA */
                    BUF [0x0B] = L5MB /* \L5MB */
                    BUF [0x0C] = L5MC /* \L5MC */
                    BUF [0x0D] = L5MD /* \L5MD */
                    BUF [0x0E] = L5ME /* \L5ME */
                    BUF [0x0F] = L5MF /* \L5MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0E, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    CreateField (DerefOf (PLDB [Zero]), 0x73, 0x04, RPOS)
                    BPOS = L5PL /* \L5PL */
                    RPOS = L5DG /* \L5DG */
                    Return (PLDB) /* \_SB_.PC00.LNK5._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((L5DI == Zero))
                    {
                        Return (Buffer (Zero){})
                    }
                    Else
                    {
                        If ((L5DI > Zero))
                        {
                            Local0 = IICB (L5A0, L5BS)
                        }

                        If ((L5DI > One))
                        {
                            Local1 = IICB (L5A1, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x02))
                        {
                            Local1 = IICB (L5A2, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x03))
                        {
                            Local1 = IICB (L5A3, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x04))
                        {
                            Local1 = IICB (L5A4, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x05))
                        {
                            Local1 = IICB (L5A5, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x06))
                        {
                            Local1 = IICB (L5A6, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x07))
                        {
                            Local1 = IICB (L5A7, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x08))
                        {
                            Local1 = IICB (L5A8, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x09))
                        {
                            Local1 = IICB (L5A9, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x0A))
                        {
                            Local1 = IICB (L5AA, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x0B))
                        {
                            Local1 = IICB (L5AB, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (SSDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x6C)
                    {
                        /* 0000 */  0x00, 0x00, 0x69, 0x56, 0x39, 0x8A, 0xF7, 0x11,  // ..iV9...
                        /* 0008 */  0xA9, 0x4E, 0x9C, 0x7D, 0x20, 0xEE, 0x0A, 0xB5,  // .N.} ...
                        /* 0010 */  0xCA, 0x40, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00,  // .@......
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0050 */  0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,  // ........
                        /* 0058 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0060 */  0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0068 */  0x00, 0x00, 0x00, 0x00                           // ....
                    })
                    PAR [Zero] = L5DV /* \L5DV */
                    PAR [One] = L5CV /* \L5CV */
                    PAR [0x18] = L5LC /* \L5LC */
                    PAR [0x1C] = L5LU /* \L5LU */
                    PAR [0x1D] = L5NL /* \L5NL */
                    PAR [0x4E] = L5EE /* \L5EE */
                    PAR [0x4F] = L5VC /* \L5VC */
                    PAR [0x52] = L5FS /* \L5FS */
                    PAR [0x53] = L5LE /* \L5LE */
                    PAR [0x54] = CDEG (L5DG)
                    CreateDWordField (PAR, 0x56, DAT)
                    DAT = L5CK /* \L5CK */
                    PAR [0x5A] = L5CL /* \L5CL */
                    PAR [0x5F] = L5PP /* \L5PP */
                    PAR [0x60] = L5VR /* \L5VR */
                    PAR [0x63] = L5FI /* \L5FI */
                    Return (PAR) /* \_SB_.PC00.LNK5.SSDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (BUF, Buffer (0x10){})
                            BUF [Zero] = L5M0 /* \L5M0 */
                            BUF [One] = L5M1 /* \L5M1 */
                            BUF [0x02] = L5M2 /* \L5M2 */
                            BUF [0x03] = L5M3 /* \L5M3 */
                            BUF [0x04] = L5M4 /* \L5M4 */
                            BUF [0x05] = L5M5 /* \L5M5 */
                            BUF [0x06] = L5M6 /* \L5M6 */
                            BUF [0x07] = L5M7 /* \L5M7 */
                            BUF [0x08] = L5M8 /* \L5M8 */
                            BUF [0x09] = L5M9 /* \L5M9 */
                            BUF [0x0A] = L5MA /* \L5MA */
                            BUF [0x0B] = L5MB /* \L5MB */
                            BUF [0x0C] = L5MC /* \L5MC */
                            BUF [0x0D] = L5MD /* \L5MD */
                            BUF [0x0E] = L5ME /* \L5ME */
                            BUF [0x0F] = L5MF /* \L5MF */
                            Return (ToString (BUF, Ones))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            CreateDWordField (DSMB, 0x08, DEV1)
                            CreateDWordField (DSMB, 0x0C, DEV2)
                            CreateDWordField (DSMB, 0x10, DEV3)
                            CreateDWordField (DSMB, 0x14, DEV4)
                            CreateDWordField (DSMB, 0x18, DEV5)
                            CreateDWordField (DSMB, 0x1C, DEV6)
                            CreateDWordField (DSMB, 0x20, DEV7)
                            CreateDWordField (DSMB, 0x24, DEV8)
                            CreateDWordField (DSMB, 0x28, DEV9)
                            CreateDWordField (DSMB, 0x2C, DEVA)
                            CreateDWordField (DSMB, 0x30, DEVB)
                            I2CC = L5DI /* \L5DI */
                            DEV0 = DSMI (L5D0, L5A0, Zero, L5BS)
                            DEV1 = DSMI (L5D1, L5A1, Zero, L5BS)
                            DEV2 = DSMI (L5D2, L5A2, Zero, L5BS)
                            DEV3 = DSMI (L5D3, L5A3, Zero, L5BS)
                            DEV4 = DSMI (L5D4, L5A4, Zero, L5BS)
                            DEV5 = DSMI (L5D5, L5A5, Zero, L5BS)
                            DEV6 = DSMI (L5D6, L5A6, Zero, L5BS)
                            DEV7 = DSMI (L5D7, L5A7, Zero, L5BS)
                            DEV8 = DSMI (L5D8, L5A8, Zero, L5BS)
                            DEV9 = DSMI (L5D9, L5A9, Zero, L5BS)
                            DEVA = DSMI (L5DA, L5AA, Zero, L5BS)
                            DEVB = DSMI (L5DB, L5AB, Zero, L5BS)
                            Return (DSMB) /* \_SB_.PC00.LNK5._DSM.DSMB */
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L5DI) /* \L5DI */
                        }

                        If ((Arg2 == 0x02))
                        {
                            If ((L5DI > Zero))
                            {
                                Return (DSMI (L5D0, L5A0, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x03))
                        {
                            If ((L5DI > One))
                            {
                                Return (DSMI (L5D1, L5A1, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x04))
                        {
                            If ((L5DI > 0x02))
                            {
                                Return (DSMI (L5D2, L5A2, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x05))
                        {
                            If ((L5DI > 0x03))
                            {
                                Return (DSMI (L5D3, L5A3, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x06))
                        {
                            If ((L5DI > 0x04))
                            {
                                Return (DSMI (L5D4, L5A4, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x07))
                        {
                            If ((L5DI > 0x05))
                            {
                                Return (DSMI (L5D5, L5A5, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x08))
                        {
                            If ((L5DI > 0x06))
                            {
                                Return (DSMI (L5D6, L5A6, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x09))
                        {
                            If ((L5DI > 0x07))
                            {
                                Return (DSMI (L5D7, L5A7, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0A))
                        {
                            If ((L5DI > 0x08))
                            {
                                Return (DSMI (L5D8, L5A8, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0B))
                        {
                            If ((L5DI > 0x09))
                            {
                                Return (DSMI (L5D9, L5A9, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0C))
                        {
                            If ((L5DI > 0x0A))
                            {
                                Return (DSMI (L5DA, L5AA, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0D))
                        {
                            If ((L5DI > 0x0B))
                            {
                                Return (DSMI (L5DB, L5AB, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (FLM0)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L0FD)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L0EN)
                    {
                        Return (CDEP (L0CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            LNK0
                        })
                    }
                }

                Name (_UID, Zero)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (FHCI (Zero))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (FHCI (Zero))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = F0M0 /* \F0M0 */
                    BUF [One] = F0M1 /* \F0M1 */
                    BUF [0x02] = F0M2 /* \F0M2 */
                    BUF [0x03] = F0M3 /* \F0M3 */
                    BUF [0x04] = F0M4 /* \F0M4 */
                    BUF [0x05] = F0M5 /* \F0M5 */
                    BUF [0x06] = F0M6 /* \F0M6 */
                    BUF [0x07] = F0M7 /* \F0M7 */
                    BUF [0x08] = F0M8 /* \F0M8 */
                    BUF [0x09] = F0M9 /* \F0M9 */
                    BUF [0x0A] = F0MA /* \F0MA */
                    BUF [0x0B] = F0MB /* \F0MB */
                    BUF [0x0C] = F0MC /* \F0MC */
                    BUF [0x0D] = F0MD /* \F0MD */
                    BUF [0x0E] = F0ME /* \F0ME */
                    BUF [0x0F] = F0MF /* \F0MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    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                           // ....
                        }
                    })
                    Return (PLDB) /* \_SB_.PC00.FLM0._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Local0 = IICB (F0AB, F0BS)
                    If ((F0MS != 0x03))
                    {
                        Local1 = PINR (F0GP, F0CP, F0GG)
                        ConcatenateResTemplate (Local0, Local1, Local2)
                        Local0 = Local2
                    }

                    Return (Local0)
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015") /* Unknown UUID */))
                    {
                        Return (FHCI (Zero))
                    }

                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        Return (FMID (Zero))
                    }

                    If ((Arg0 == ToUUID ("7dcd9f7b-9080-4f5b-a26c-3470be2caa7a") /* Unknown UUID */))
                    {
                        Return (FMLS (Zero))
                    }

                    If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8") /* Unknown UUID */))
                    {
                        Return ("LKF")
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (F0BS) /* \F0BS */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (Zero, F0AB, Zero, F0BS))
                        }
                    }

                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (0x04, (AGPN (F0GP, F0GG) & 0xFF), F0IV, F0AV))
                        }
                    }

                    If ((Arg0 == ToUUID ("5e9e0075-a7a0-4067-a823-b939f75cd2ca") /* Unknown UUID */))
                    {
                        Return (Zero)
                    }

                    If ((Arg0 == ToUUID ("6665d1ce-20a3-40d0-99a1-e488db5af908") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L0FI) /* \L0FI */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (FLM1)
            {
                Name (PKG0, Package (0x01)
                {
                    "\\_SB.PC00.XHCI.RHUB.VIC0"
                })
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L1FD)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L1EN)
                    {
                        If (((CVFS == One) && (ARLP == Zero)))
                        {
                            Return (PKG0) /* \_SB_.PC00.FLM1.PKG0 */
                        }
                        Else
                        {
                            Return (CDEP (L1CL))
                        }
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            LNK1
                        })
                    }
                }

                Name (_UID, One)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (FHCI (One))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (FHCI (One))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = F1M0 /* \F1M0 */
                    BUF [One] = F1M1 /* \F1M1 */
                    BUF [0x02] = F1M2 /* \F1M2 */
                    BUF [0x03] = F1M3 /* \F1M3 */
                    BUF [0x04] = F1M4 /* \F1M4 */
                    BUF [0x05] = F1M5 /* \F1M5 */
                    BUF [0x06] = F1M6 /* \F1M6 */
                    BUF [0x07] = F1M7 /* \F1M7 */
                    BUF [0x08] = F1M8 /* \F1M8 */
                    BUF [0x09] = F1M9 /* \F1M9 */
                    BUF [0x0A] = F1MA /* \F1MA */
                    BUF [0x0B] = F1MB /* \F1MB */
                    BUF [0x0C] = F1MC /* \F1MC */
                    BUF [0x0D] = F1MD /* \F1MD */
                    BUF [0x0E] = F1ME /* \F1ME */
                    BUF [0x0F] = F1MF /* \F1MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    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                           // ....
                        }
                    })
                    Return (PLDB) /* \_SB_.PC00.FLM1._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If (((CVFS == One) && (ARLP == Zero)))
                    {
                        Local0 = VIIC (F1AB, Zero)
                    }
                    Else
                    {
                        Local0 = IICB (F1AB, F1BS)
                    }

                    If ((F1MS != 0x03))
                    {
                        If ((CVFS == One))
                        {
                            Local1 = VPIN (0x03)
                        }
                        Else
                        {
                            Local1 = PINR (F1GP, F1CP, F1GG)
                        }

                        ConcatenateResTemplate (Local0, Local1, Local2)
                        Local0 = Local2
                    }

                    Return (Local0)
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015") /* Unknown UUID */))
                    {
                        Return (FHCI (One))
                    }

                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        Return (FMID (One))
                    }

                    If ((Arg0 == ToUUID ("7dcd9f7b-9080-4f5b-a26c-3470be2caa7a") /* Unknown UUID */))
                    {
                        Return (FMLS (One))
                    }

                    If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8") /* Unknown UUID */))
                    {
                        Return ("LKF")
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (F1BS) /* \F1BS */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (Zero, F1AB, Zero, F1BS))
                        }
                    }

                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (0x04, (AGPN (F1GP, F1GG) & 0xFF), F1IV, F1AV))
                        }
                    }

                    If ((Arg0 == ToUUID ("5e9e0075-a7a0-4067-a823-b939f75cd2ca") /* Unknown UUID */))
                    {
                        Return (Zero)
                    }

                    If ((Arg0 == ToUUID ("6665d1ce-20a3-40d0-99a1-e488db5af908") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L1FI) /* \L1FI */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (FLM2)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L2FD)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L2EN)
                    {
                        Return (CDEP (L2CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            LNK2
                        })
                    }
                }

                Name (_UID, 0x02)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (FHCI (0x02))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (FHCI (0x02))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = F2M0 /* \F2M0 */
                    BUF [One] = F2M1 /* \F2M1 */
                    BUF [0x02] = F2M2 /* \F2M2 */
                    BUF [0x03] = F2M3 /* \F2M3 */
                    BUF [0x04] = F2M4 /* \F2M4 */
                    BUF [0x05] = F2M5 /* \F2M5 */
                    BUF [0x06] = F2M6 /* \F2M6 */
                    BUF [0x07] = F2M7 /* \F2M7 */
                    BUF [0x08] = F2M8 /* \F2M8 */
                    BUF [0x09] = F2M9 /* \F2M9 */
                    BUF [0x0A] = F2MA /* \F2MA */
                    BUF [0x0B] = F2MB /* \F2MB */
                    BUF [0x0C] = F2MC /* \F2MC */
                    BUF [0x0D] = F2MD /* \F2MD */
                    BUF [0x0E] = F2ME /* \F2ME */
                    BUF [0x0F] = F2MF /* \F2MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    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                           // ....
                        }
                    })
                    Return (PLDB) /* \_SB_.PC00.FLM2._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Local0 = IICB (F2AB, F2BS)
                    If ((F2MS != 0x03))
                    {
                        Local1 = PINR (F2GP, F2CP, F2GG)
                        ConcatenateResTemplate (Local0, Local1, Local2)
                        Local0 = Local2
                    }

                    Return (Local0)
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015") /* Unknown UUID */))
                    {
                        Return (FHCI (0x02))
                    }

                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        Return (FMID (0x02))
                    }

                    If ((Arg0 == ToUUID ("7dcd9f7b-9080-4f5b-a26c-3470be2caa7a") /* Unknown UUID */))
                    {
                        Return (FMLS (0x02))
                    }

                    If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8") /* Unknown UUID */))
                    {
                        Return ("LKF")
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (F2BS) /* \F2BS */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (Zero, F2AB, Zero, F2BS))
                        }
                    }

                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (0x04, (AGPN (F2GP, F2GG) & 0xFF), F2IV, F2AV))
                        }
                    }

                    If ((Arg0 == ToUUID ("5e9e0075-a7a0-4067-a823-b939f75cd2ca") /* Unknown UUID */))
                    {
                        Return (Zero)
                    }

                    If ((Arg0 == ToUUID ("6665d1ce-20a3-40d0-99a1-e488db5af908") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L2FI) /* \L2FI */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (FLM3)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L3FD)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L3EN)
                    {
                        Return (CDEP (L3CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            LNK3
                        })
                    }
                }

                Name (_UID, 0x03)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (FHCI (0x03))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (FHCI (0x03))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = F3M0 /* \F3M0 */
                    BUF [One] = F3M1 /* \F3M1 */
                    BUF [0x02] = F3M2 /* \F3M2 */
                    BUF [0x03] = F3M3 /* \F3M3 */
                    BUF [0x04] = F3M4 /* \F3M4 */
                    BUF [0x05] = F3M5 /* \F3M5 */
                    BUF [0x06] = F3M6 /* \F3M6 */
                    BUF [0x07] = F3M7 /* \F3M7 */
                    BUF [0x08] = F3M8 /* \F3M8 */
                    BUF [0x09] = F3M9 /* \F3M9 */
                    BUF [0x0A] = F3MA /* \F3MA */
                    BUF [0x0B] = F3MB /* \F3MB */
                    BUF [0x0C] = F3MC /* \F3MC */
                    BUF [0x0D] = F3MD /* \F3MD */
                    BUF [0x0E] = F3ME /* \F3ME */
                    BUF [0x0F] = F3MF /* \F3MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    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                           // ....
                        }
                    })
                    Return (PLDB) /* \_SB_.PC00.FLM3._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Local0 = IICB (F3AB, F3BS)
                    If ((F3MS != 0x03))
                    {
                        Local1 = PINR (F3GP, F3CP, F3GG)
                        ConcatenateResTemplate (Local0, Local1, Local2)
                        Local0 = Local2
                    }

                    Return (Local0)
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015") /* Unknown UUID */))
                    {
                        Return (FHCI (0x03))
                    }

                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        Return (FMID (0x03))
                    }

                    If ((Arg0 == ToUUID ("7dcd9f7b-9080-4f5b-a26c-3470be2caa7a") /* Unknown UUID */))
                    {
                        Return (FMLS (0x03))
                    }

                    If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8") /* Unknown UUID */))
                    {
                        Return ("LKF")
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (F3BS) /* \F3BS */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (Zero, F3AB, Zero, F3BS))
                        }
                    }

                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (0x04, (AGPN (F3GP, F3GG) & 0xFF), F3IV, F3AV))
                        }
                    }

                    If ((Arg0 == ToUUID ("5e9e0075-a7a0-4067-a823-b939f75cd2ca") /* Unknown UUID */))
                    {
                        Return (Zero)
                    }

                    If ((Arg0 == ToUUID ("6665d1ce-20a3-40d0-99a1-e488db5af908") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L3FI) /* \L3FI */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (FLM4)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L4FD)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L4EN)
                    {
                        Return (CDEP (L4CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            LNK4
                        })
                    }
                }

                Name (_UID, 0x04)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (FHCI (0x04))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (FHCI (0x04))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = F4M0 /* \F4M0 */
                    BUF [One] = F4M1 /* \F4M1 */
                    BUF [0x02] = F4M2 /* \F4M2 */
                    BUF [0x03] = F4M3 /* \F4M3 */
                    BUF [0x04] = F4M4 /* \F4M4 */
                    BUF [0x05] = F4M5 /* \F4M5 */
                    BUF [0x06] = F4M6 /* \F4M6 */
                    BUF [0x07] = F4M7 /* \F4M7 */
                    BUF [0x08] = F4M8 /* \F4M8 */
                    BUF [0x09] = F4M9 /* \F4M9 */
                    BUF [0x0A] = F4MA /* \F4MA */
                    BUF [0x0B] = F4MB /* \F4MB */
                    BUF [0x0C] = F4MC /* \F4MC */
                    BUF [0x0D] = F4MD /* \F4MD */
                    BUF [0x0E] = F4ME /* \F4ME */
                    BUF [0x0F] = F4MF /* \F4MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    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                           // ....
                        }
                    })
                    Return (PLDB) /* \_SB_.PC00.FLM4._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Local0 = IICB (F4AB, F4BS)
                    If ((F4MS != 0x03))
                    {
                        Local1 = PINR (F4GP, F4CP, F4GG)
                        ConcatenateResTemplate (Local0, Local1, Local2)
                        Local0 = Local2
                    }

                    Return (Local0)
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015") /* Unknown UUID */))
                    {
                        Return (FHCI (0x04))
                    }

                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        Return (FMID (0x04))
                    }

                    If ((Arg0 == ToUUID ("7dcd9f7b-9080-4f5b-a26c-3470be2caa7a") /* Unknown UUID */))
                    {
                        Return (FMLS (0x04))
                    }

                    If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8") /* Unknown UUID */))
                    {
                        Return ("LKF")
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (F4BS) /* \F4BS */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (Zero, F4AB, Zero, F4BS))
                        }
                    }

                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (0x04, (AGPN (F4GP, F4GG) & 0xFF), F4IV, F4AV))
                        }
                    }

                    If ((Arg0 == ToUUID ("5e9e0075-a7a0-4067-a823-b939f75cd2ca") /* Unknown UUID */))
                    {
                        Return (Zero)
                    }

                    If ((Arg0 == ToUUID ("6665d1ce-20a3-40d0-99a1-e488db5af908") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L4FI) /* \L4FI */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (FLM5)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L5FD)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L5EN)
                    {
                        Return (CDEP (L5CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            LNK5
                        })
                    }
                }

                Name (_UID, 0x05)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (FHCI (0x05))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (FHCI (0x05))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = F5M0 /* \F5M0 */
                    BUF [One] = F5M1 /* \F5M1 */
                    BUF [0x02] = F5M2 /* \F5M2 */
                    BUF [0x03] = F5M3 /* \F5M3 */
                    BUF [0x04] = F5M4 /* \F5M4 */
                    BUF [0x05] = F5M5 /* \F5M5 */
                    BUF [0x06] = F5M6 /* \F5M6 */
                    BUF [0x07] = F5M7 /* \F5M7 */
                    BUF [0x08] = F5M8 /* \F5M8 */
                    BUF [0x09] = F5M9 /* \F5M9 */
                    BUF [0x0A] = F5MA /* \F5MA */
                    BUF [0x0B] = F5MB /* \F5MB */
                    BUF [0x0C] = F5MC /* \F5MC */
                    BUF [0x0D] = F5MD /* \F5MD */
                    BUF [0x0E] = F5ME /* \F5ME */
                    BUF [0x0F] = F5MF /* \F5MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    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                           // ....
                        }
                    })
                    Return (PLDB) /* \_SB_.PC00.FLM5._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Local0 = IICB (F5AB, F5BS)
                    If ((F5MS != 0x03))
                    {
                        Local1 = PINR (F5GP, F5CP, F5GG)
                        ConcatenateResTemplate (Local0, Local1, Local2)
                        Local0 = Local2
                    }

                    Return (Local0)
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015") /* Unknown UUID */))
                    {
                        Return (FHCI (0x05))
                    }

                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        Return (FMID (0x05))
                    }

                    If ((Arg0 == ToUUID ("7dcd9f7b-9080-4f5b-a26c-3470be2caa7a") /* Unknown UUID */))
                    {
                        Return (FMLS (0x05))
                    }

                    If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8") /* Unknown UUID */))
                    {
                        Return ("LKF")
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (F5BS) /* \F5BS */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (Zero, F5AB, Zero, F5BS))
                        }
                    }

                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (0x04, (AGPN (F5GP, F5GG) & 0xFF), F5IV, F5AV))
                        }
                    }

                    If ((Arg0 == ToUUID ("5e9e0075-a7a0-4067-a823-b939f75cd2ca") /* Unknown UUID */))
                    {
                        Return (Zero)
                    }

                    If ((Arg0 == ToUUID ("6665d1ce-20a3-40d0-99a1-e488db5af908") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L5FI) /* \L5FI */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }
        }

        Scope (_SB.PC00.I2C2)
        {
            Device (CAM0)
            {
                Name (_HID, "INT3471")  // _HID: Hardware ID
                Name (_CID, "INT3471")  // _CID: Compatible ID
                Name (_DDN, "IMX135-CRDG2")  // _DDN: DOS Device Name
                Name (_UID, "0")  // _UID: Unique ID
                Name (_DEP, Package (0x01)  // _DEP: Dependencies
                {
                    PMIC
                })
                Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                {
                    ToPLD (
                        PLD_Revision           = 0x2,
                        PLD_IgnoreColor        = 0x1,
                        PLD_Red                = 0x0,
                        PLD_Green              = 0x0,
                        PLD_Blue               = 0x0,
                        PLD_Width              = 0x0,
                        PLD_Height             = 0x0,
                        PLD_UserVisible        = 0x1,
                        PLD_Dock               = 0x0,
                        PLD_Lid                = 0x0,
                        PLD_Panel              = "BACK",
                        PLD_VerticalPosition   = "CENTER",
                        PLD_HorizontalPosition = "RIGHT",
                        PLD_Shape              = "VERTICALRECTANGLE",
                        PLD_GroupOrientation   = 0x0,
                        PLD_GroupToken         = 0x0,
                        PLD_GroupPosition      = 0x0,
                        PLD_Bay                = 0x0,
                        PLD_Ejectable          = 0x1,
                        PLD_EjectRequired      = 0x1,
                        PLD_CabinetNumber      = 0x0,
                        PLD_CardCageNumber     = 0x0,
                        PLD_Reference          = 0x0,
                        PLD_Rotation           = 0x0,
                        PLD_Order              = 0x0,
                        PLD_VerticalOffset     = 0xFFFF,
                        PLD_HorizontalOffset   = 0xFFFF)

                })
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBusV2 (0x0010, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C2",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                        I2cSerialBusV2 (0x000E, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C2",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                        I2cSerialBusV2 (0x0050, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C2",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                        I2cSerialBusV2 (0x0051, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C2",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                        I2cSerialBusV2 (0x0052, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C2",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                        I2cSerialBusV2 (0x0053, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C2",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                    })
                    Return (SBUF) /* \_SB_.PC00.I2C2.CAM0._CRS.SBUF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((SCSS == One))
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (SSDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x6C)
                    {
                        /* 0000 */  0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // .P......
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,  // ........
                        /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03,  // ........
                        /* 0050 */  0x09, 0x00, 0x02, 0x01, 0x00, 0x01, 0x00, 0x36,  // .......6
                        /* 0058 */  0x6E, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // n.......
                        /* 0060 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0068 */  0x00, 0x00, 0x00, 0x00                           // ....
                    })
                    Return (PAR) /* \_SB_.PC00.I2C2.CAM0.SSDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        Return ("13P2BAD33")
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (0x06)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (0x02001000)
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (0x02000E01)
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (0x02005002)
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (0x02005103)
                        }

                        If ((Arg2 == 0x06))
                        {
                            Return (0x02005204)
                        }

                        If ((Arg2 == 0x07))
                        {
                            Return (0x02005305)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }
        }

        Scope (_SB.PC00.I2C4)
        {
            Device (CAM1)
            {
                Name (_HID, "INT3474")  // _HID: Hardware ID
                Name (_CID, "INT3474")  // _CID: Compatible ID
                Name (_DDN, "OV2740-CRDG2")  // _DDN: DOS Device Name
                Name (_UID, "0")  // _UID: Unique ID
                Name (_DEP, Package (0x01)  // _DEP: Dependencies
                {
                    ^^I2C2.PMIC
                })
                Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                {
                    ToPLD (
                        PLD_Revision           = 0x2,
                        PLD_IgnoreColor        = 0x1,
                        PLD_Red                = 0x0,
                        PLD_Green              = 0x0,
                        PLD_Blue               = 0x0,
                        PLD_Width              = 0x0,
                        PLD_Height             = 0x0,
                        PLD_UserVisible        = 0x1,
                        PLD_Dock               = 0x0,
                        PLD_Lid                = 0x0,
                        PLD_Panel              = "FRONT",
                        PLD_VerticalPosition   = "CENTER",
                        PLD_HorizontalPosition = "RIGHT",
                        PLD_Shape              = "VERTICALRECTANGLE",
                        PLD_GroupOrientation   = 0x0,
                        PLD_GroupToken         = 0x0,
                        PLD_GroupPosition      = 0x0,
                        PLD_Bay                = 0x0,
                        PLD_Ejectable          = 0x1,
                        PLD_EjectRequired      = 0x1,
                        PLD_CabinetNumber      = 0x0,
                        PLD_CardCageNumber     = 0x0,
                        PLD_Reference          = 0x0,
                        PLD_Rotation           = 0x0,
                        PLD_Order              = 0x0,
                        PLD_VerticalOffset     = 0xFFFF,
                        PLD_HorizontalOffset   = 0xFFFF)

                })
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBusV2 (0x0036, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C4",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                    })
                    Return (SBUF) /* \_SB_.PC00.I2C4.CAM1._CRS.SBUF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((SCSS == One))
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (SSDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x6C)
                    {
                        /* 0000 */  0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // .P......
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,  // ........
                        /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0050 */  0x09, 0x00, 0x02, 0x01, 0x00, 0x01, 0x00, 0xF8,  // ........
                        /* 0058 */  0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // $.......
                        /* 0060 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0068 */  0x00, 0x00, 0x00, 0x00                           // ....
                    })
                    Return (PAR) /* \_SB_.PC00.I2C4.CAM1.SSDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        Return ("4SF259T2")
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (0x04003600)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }
        }

        Scope (_SB.PC00.I2C2)
        {
            Device (PMIC)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG2")  // _DDN: DOS Device Name
                Name (_UID, "0")  // _UID: Unique ID
                Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                {
                    ToPLD (
                        PLD_Revision           = 0x2,
                        PLD_IgnoreColor        = 0x1,
                        PLD_Red                = 0x0,
                        PLD_Green              = 0x0,
                        PLD_Blue               = 0x0,
                        PLD_Width              = 0x0,
                        PLD_Height             = 0x0,
                        PLD_UserVisible        = 0x1,
                        PLD_Dock               = 0x0,
                        PLD_Lid                = 0x0,
                        PLD_Panel              = "FRONT",
                        PLD_VerticalPosition   = "UPPER",
                        PLD_HorizontalPosition = "CENTER",
                        PLD_Shape              = "VERTICALRECTANGLE",
                        PLD_GroupOrientation   = 0x0,
                        PLD_GroupToken         = 0x0,
                        PLD_GroupPosition      = 0x0,
                        PLD_Bay                = 0x0,
                        PLD_Ejectable          = 0x1,
                        PLD_EjectRequired      = 0x1,
                        PLD_CabinetNumber      = 0x0,
                        PLD_CardCageNumber     = 0x0,
                        PLD_Reference          = 0x0,
                        PLD_Rotation           = 0x0,
                        PLD_Order              = 0x0,
                        PLD_VerticalOffset     = 0xFFFF,
                        PLD_HorizontalOffset   = 0xFFFF)

                })
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C2",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                    })
                    Return (SBUF) /* \_SB_.PC00.I2C2.PMIC._CRS.SBUF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((SCSS == One))
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x02, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00,  // ...P....
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    Return (PAR) /* \_SB_.PC00.I2C2.PMIC.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (0x07)
                        }

                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (0x02004C0B)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }
        }

        Name (DEVM, 0xFF)
        Scope (_SB)
        {
            Device (WCCD)
            {
                Name (_HID, "INTC1092")  // _HID: Hardware ID
                Name (_STR, Unicode ("Wireless Connectivity Configuration Device"))  // _STR: Description String
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    DEVM = Zero
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((WWEN != Zero) && (WCEN == One)))
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Name (WCS0, Package (0x04)
                {
                    Zero, 
                    Package (0x04)
                    {
                        Zero, 
                        One, 
                        0x02, 
                        0x03
                    }, 

                    Package (0x04)
                    {
                        One, 
                        0x02, 
                        0x03, 
                        One
                    }, 

                    Package (0x04)
                    {
                        0x02, 
                        0x03, 
                        One, 
                        0x02
                    }
                })
                Name (WCS1, Package (0x04)
                {
                    One, 
                    Package (0x04)
                    {
                        Zero, 
                        0x02, 
                        0x03, 
                        One
                    }, 

                    Package (0x04)
                    {
                        One, 
                        0x03, 
                        One, 
                        0x02
                    }, 

                    Package (0x04)
                    {
                        0x02, 
                        One, 
                        0x02, 
                        0x03
                    }
                })
                Name (WCS2, Package (0x04)
                {
                    0x02, 
                    Package (0x04)
                    {
                        Zero, 
                        0x03, 
                        One, 
                        0x02
                    }, 

                    Package (0x04)
                    {
                        One, 
                        One, 
                        0x02, 
                        0x03
                    }, 

                    Package (0x04)
                    {
                        0x02, 
                        0x02, 
                        0x03, 
                        One
                    }
                })
                Name (WDMC, Package (0x03)
                {
                    Zero, 
                    0x03, 
                    Package (0x04)
                    {
                        Zero, 
                        Package (0x04)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }, 

                        Package (0x04)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }, 

                        Package (0x04)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("82737e72-3a33-4c45-a9c7-57c0411a5f13") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Local0 = 0x07
                                Local0 = 0x80000007
                                Return (Local0)
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == One))
                        {
                            ADBG (Concatenate ("Device Mode ", ToDecimalString (DEVM)))
                            Return (DEVM) /* \DEVM */
                        }

                        If ((Arg2 == 0x02))
                        {
                            ADBG (Concatenate ("Get WDMC Table with WCS", ToHexString (Arg3)))
                            If ((Arg3 == Zero))
                            {
                                WDMC [0x02] = WCS0 /* \_SB_.WCCD.WCS0 */
                            }
                            ElseIf ((Arg3 == One))
                            {
                                WDMC [0x02] = WCS1 /* \_SB_.WCCD.WCS1 */
                            }
                            ElseIf ((Arg3 == 0x02))
                            {
                                WDMC [0x02] = WCS2 /* \_SB_.WCCD.WCS2 */
                            }
                            Else
                            {
                                ADBG ("Unsupported regulatory is detected!!")
                            }

                            Return (WDMC) /* \_SB_.WCCD.WDMC */
                        }

                        If ((Arg2 == 0x1F))
                        {
                            ADBG (Concatenate ("Set Device Mode ", ToDecimalString (Arg3)))
                            DEVM = Arg3
                            Notify (WCCD, 0x80) // Status Change
                            Return (Zero)
                        }

                        Return (Zero)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }
            }
        }

        Scope (_SB)
        {
            Name (C0PF, Package (0x01)
            {
                Buffer (0x14)
                {
                    /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x20, 0x03, 0xD0, 0x07,  // .... ...
                    /* 0008 */  0x41, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01,  // A.......
                    /* 0010 */  0x00, 0x00, 0x00, 0x00                           // ....
                }
            })
            Name (C1PF, Package (0x01)
            {
                Buffer (0x14)
                {
                    /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x20, 0x03, 0xD0, 0x07,  // .... ...
                    /* 0008 */  0x41, 0x0E, 0x00, 0x00, 0x04, 0x00, 0x80, 0x01,  // A.......
                    /* 0010 */  0x00, 0x00, 0x00, 0x00                           // ....
                }
            })
        }

        Scope (\)
        {
            Method (PLD1, 0, Serialized)
            {
                Return (\_SB.C0PF)
            }
        }

        Scope (\)
        {
            Method (PLD2, 0, Serialized)
            {
                Return (\_SB.C1PF)
            }
        }

        Scope (_SB.PC00.THC0)
        {
            Device (TLC1)
            {
                Name (_ADR, One)  // _ADR: Address
                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Return (C0PF) /* \_SB_.C0PF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }
            }

            Device (TLC2)
            {
                Name (_ADR, 0x02)  // _ADR: Address
                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Return (C0PF) /* \_SB_.C0PF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }
            }

            Device (TLC3)
            {
                Name (_ADR, 0x03)  // _ADR: Address
                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Return (C0PF) /* \_SB_.C0PF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }
            }
        }

        Scope (_SB.PC00.THC1)
        {
            Device (TLC1)
            {
                Name (_ADR, One)  // _ADR: Address
                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Return (C1PF) /* \_SB_.C1PF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }
            }

            Device (TLC2)
            {
                Name (_ADR, 0x02)  // _ADR: Address
                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Return (C1PF) /* \_SB_.C1PF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }
            }

            Device (TLC3)
            {
                Name (_ADR, 0x03)  // _ADR: Address
                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Return (C1PF) /* \_SB_.C1PF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }
            }
        }
    }

    If ((PCHA == Zero))
    {
        Scope (_SB.PC00)
        {
            Name (HIDG, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)
            Name (TP7G, ToUUID ("ef87eb82-f951-46da-84ec-14871ac6f84b") /* Unknown UUID */)
            Method (HIDD, 5, Serialized)
            {
                If ((Arg0 == HIDG))
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == One))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Return (Arg4)
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Method (TP7D, 6, Serialized)
            {
                If ((Arg0 == TP7G))
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == One))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Return (ConcatenateResTemplate (Arg4, Arg5))
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Method (I2CM, 3, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Name (IIC0, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C0",
                                0x00, ResourceConsumer, _Y53, Exclusive,
                                )
                        })
                        CreateWordField (IIC0, \_SB.PC00.I2CM._Y53._ADR, DAD0)  // _ADR: Address
                        CreateDWordField (IIC0, \_SB.PC00.I2CM._Y53._SPE, DSP0)  // _SPE: Speed
                        DAD0 = Arg1
                        DSP0 = Arg2
                        Return (IIC0) /* \_SB_.PC00.I2CM.IIC0 */
                    }
                    Case (One)
                    {
                        Name (IIC1, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C1",
                                0x00, ResourceConsumer, _Y54, Exclusive,
                                )
                        })
                        CreateWordField (IIC1, \_SB.PC00.I2CM._Y54._ADR, DAD1)  // _ADR: Address
                        CreateDWordField (IIC1, \_SB.PC00.I2CM._Y54._SPE, DSP1)  // _SPE: Speed
                        DAD1 = Arg1
                        DSP1 = Arg2
                        Return (IIC1) /* \_SB_.PC00.I2CM.IIC1 */
                    }
                    Case (0x02)
                    {
                        Name (IIC2, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C2",
                                0x00, ResourceConsumer, _Y55, Exclusive,
                                )
                        })
                        CreateWordField (IIC2, \_SB.PC00.I2CM._Y55._ADR, DAD2)  // _ADR: Address
                        CreateDWordField (IIC2, \_SB.PC00.I2CM._Y55._SPE, DSP2)  // _SPE: Speed
                        DAD2 = Arg1
                        DSP2 = Arg2
                        Return (IIC2) /* \_SB_.PC00.I2CM.IIC2 */
                    }
                    Case (0x03)
                    {
                        Name (IIC3, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C3",
                                0x00, ResourceConsumer, _Y56, Exclusive,
                                )
                        })
                        CreateWordField (IIC3, \_SB.PC00.I2CM._Y56._ADR, DAD3)  // _ADR: Address
                        CreateDWordField (IIC3, \_SB.PC00.I2CM._Y56._SPE, DSP3)  // _SPE: Speed
                        DAD3 = Arg1
                        DSP3 = Arg2
                        Return (IIC3) /* \_SB_.PC00.I2CM.IIC3 */
                    }
                    Case (0x04)
                    {
                        Name (IIC4, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C4",
                                0x00, ResourceConsumer, _Y57, Exclusive,
                                )
                        })
                        CreateWordField (IIC4, \_SB.PC00.I2CM._Y57._ADR, DAD4)  // _ADR: Address
                        CreateDWordField (IIC4, \_SB.PC00.I2CM._Y57._SPE, DSP4)  // _SPE: Speed
                        DAD4 = Arg1
                        DSP4 = Arg2
                        Return (IIC4) /* \_SB_.PC00.I2CM.IIC4 */
                    }
                    Case (0x05)
                    {
                        Name (IIC5, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C5",
                                0x00, ResourceConsumer, _Y58, Exclusive,
                                )
                        })
                        CreateWordField (IIC5, \_SB.PC00.I2CM._Y58._ADR, DAD5)  // _ADR: Address
                        CreateDWordField (IIC5, \_SB.PC00.I2CM._Y58._SPE, DSP5)  // _SPE: Speed
                        DAD5 = Arg1
                        DSP5 = Arg2
                        Return (IIC5) /* \_SB_.PC00.I2CM.IIC5 */
                    }
                    Case (0x0C)
                    {
                        Name (IIC6, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C6",
                                0x00, ResourceConsumer, _Y59, Exclusive,
                                )
                        })
                        CreateWordField (IIC6, \_SB.PC00.I2CM._Y59._ADR, DAD6)  // _ADR: Address
                        CreateDWordField (IIC6, \_SB.PC00.I2CM._Y59._SPE, DSP6)  // _SPE: Speed
                        DAD6 = Arg1
                        DSP6 = Arg2
                        Return (IIC6) /* \_SB_.PC00.I2CM.IIC6 */
                    }
                    Case (0x0D)
                    {
                        Name (IIC7, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C7",
                                0x00, ResourceConsumer, _Y5A, Exclusive,
                                )
                        })
                        CreateWordField (IIC7, \_SB.PC00.I2CM._Y5A._ADR, DAD7)  // _ADR: Address
                        CreateDWordField (IIC7, \_SB.PC00.I2CM._Y5A._SPE, DSP7)  // _SPE: Speed
                        DAD7 = Arg1
                        DSP7 = Arg2
                        Return (IIC7) /* \_SB_.PC00.I2CM.IIC7 */
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }

            Method (SPIM, 3, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (0x07)
                    {
                        Name (IIC7, ResourceTemplate ()
                        {
                            SpiSerialBusV2 (0x0000, PolarityLow, FourWireMode, 0x08,
                                ControllerInitiated, 0x00989680, ClockPolarityLow,
                                ClockPhaseFirst, "\\_SB.PC00.SPI1",
                                0x00, ResourceConsumer, _Y5B, Exclusive,
                                )
                        })
                        CreateByteField (IIC7, \_SB.PC00.SPIM._Y5B._PHA, DPH7)  // _PHA: Clock Phase
                        CreateDWordField (IIC7, \_SB.PC00.SPIM._Y5B._SPE, DSP7)  // _SPE: Speed
                        DPH7 = Arg1
                        DSP7 = Arg2
                        Return (IIC7) /* \_SB_.PC00.SPIM.IIC7 */
                    }
                    Case (0x08)
                    {
                        Name (IIC8, ResourceTemplate ()
                        {
                            SpiSerialBusV2 (0x0000, PolarityLow, FourWireMode, 0x08,
                                ControllerInitiated, 0x00989680, ClockPolarityLow,
                                ClockPhaseFirst, "\\_SB.PC00.SPI2",
                                0x00, ResourceConsumer, _Y5C, Exclusive,
                                )
                        })
                        CreateByteField (IIC8, \_SB.PC00.SPIM._Y5C._PHA, DPH8)  // _PHA: Clock Phase
                        CreateDWordField (IIC8, \_SB.PC00.SPIM._Y5C._SPE, DSP8)  // _SPE: Speed
                        DPH8 = Arg1
                        DSP8 = Arg2
                        Return (IIC8) /* \_SB_.PC00.SPIM.IIC8 */
                    }
                    Default
                    {
                        Return (Buffer (0x02)
                        {
                             0x79, 0x00                                       // y.
                        })
                    }

                }
            }

            Method (UCMM, 1, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Name (UCM0, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C0",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C0",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C0",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C0",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM0) /* \_SB_.PC00.UCMM.UCM0 */
                    }
                    Case (One)
                    {
                        Name (UCM1, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C1",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C1",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C1",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C1",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM1) /* \_SB_.PC00.UCMM.UCM1 */
                    }
                    Case (0x02)
                    {
                        Name (UCM2, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C2",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C2",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C2",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C2",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM2) /* \_SB_.PC00.UCMM.UCM2 */
                    }
                    Case (0x03)
                    {
                        Name (UCM3, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C3",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C3",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C3",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C3",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM3) /* \_SB_.PC00.UCMM.UCM3 */
                    }
                    Case (0x04)
                    {
                        Name (UCM4, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C4",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C4",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C4",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C4",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM4) /* \_SB_.PC00.UCMM.UCM4 */
                    }
                    Case (0x05)
                    {
                        Name (UCM5, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C5",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C5",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C5",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C5",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM5) /* \_SB_.PC00.UCMM.UCM5 */
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
        }

        Scope (_SB.PC00.I2C0)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS0 /* \SDS0 */
                I2CX = Zero
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y5D, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y5E)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C0.TPD0._Y5D._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C0.TPD0._Y5D._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C0.TPD0._Y5E._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }
                    }

                    _HID = "GXTP7300"
                    HID2 = 0x20
                    BADR = 0x2C
                    SPED = 0x00061A80
                    Return (Zero)
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C0.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (NFC)
            {
                Name (_HID, "NTAG5332")  // _HID: Hardware ID
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBusV2 (0x0054, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C0",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                        GpioInt (Edge, ActiveBoth, Exclusive, PullDefault, 0x0000,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    Name (SBFI, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Edge, ActiveHigh, Shared, ,, _Y5F)
                        {
                            0x00000000,
                        }
                    })
                    Name (BBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    CreateWordField (SBUF, 0x38, INT1)
                    INT1 = GNUM (0x00140805)
                    CreateDWordField (SBFI, \_SB.PC00.I2C0.NFC._CRS._Y5F._INT, INT2)  // _INT: Interrupts
                    INT2 = INUM (0x00140805)
                    CreateWordField (BBUF, 0x17, RST1)
                    RST1 = GNUM (0x00140804)
                    Return (ConcatenateResTemplate (ConcatenateResTemplate (SBUF, SBFI), BBUF))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC00.I2C1)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, One)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS1 /* \SDS1 */
                I2CX = One
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y60, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y61)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C1.TPD0._Y60._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C1.TPD0._Y60._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C1.TPD0._Y61._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }
                    }

                    _HID = "GXTP7300"
                    HID2 = 0x20
                    BADR = 0x2C
                    SPED = 0x00061A80
                    Return (Zero)
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C1.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y62, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y63)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C1.TPL1._Y62._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C1.TPL1._Y62._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C1.TPL1._Y63._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (TPGI, One)
                        }

                        INT1 = GNUM (TPGI)
                        INT2 = INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            SHPO (TPGI, One)
                        }
                        Else
                        {
                            SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC00.I2C1.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C1.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC00.I2C2)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, 0x02)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS2 /* \SDS2 */
                I2CX = 0x02
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y64, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y65)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C2.TPD0._Y64._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C2.TPD0._Y64._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C2.TPD0._Y65._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }
                    }

                    _HID = "GXTP7300"
                    HID2 = 0x20
                    BADR = 0x2C
                    SPED = 0x00061A80
                    Return (Zero)
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C2.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y66, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y67)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C2.TPL1._Y66._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C2.TPL1._Y66._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C2.TPL1._Y67._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (TPGI, One)
                        }

                        INT1 = GNUM (TPGI)
                        INT2 = INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            SHPO (TPGI, One)
                        }
                        Else
                        {
                            SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC00.I2C2.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C2.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC00.I2C3)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, 0x03)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS3 /* \SDS3 */
                I2CX = 0x03
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y68, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y69)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C3.TPD0._Y68._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C3.TPD0._Y68._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C3.TPD0._Y69._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }
                    }

                    _HID = "GXTP7300"
                    HID2 = 0x20
                    BADR = 0x2C
                    SPED = 0x00061A80
                    Return (Zero)
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C3.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y6A, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y6B)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C3.TPL1._Y6A._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C3.TPL1._Y6A._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C3.TPL1._Y6B._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (TPGI, One)
                        }

                        INT1 = GNUM (TPGI)
                        INT2 = INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            SHPO (TPGI, One)
                        }
                        Else
                        {
                            SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC00.I2C3.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C3.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC00.I2C4)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, 0x04)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS4 /* \SDS4 */
                I2CX = 0x04
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y6C, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y6D)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C4.TPD0._Y6C._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C4.TPD0._Y6C._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C4.TPD0._Y6D._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }
                    }

                    _HID = "GXTP7300"
                    HID2 = 0x20
                    BADR = 0x2C
                    SPED = 0x00061A80
                    Return (Zero)
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C4.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y6E, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y6F)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C4.TPL1._Y6E._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C4.TPL1._Y6E._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C4.TPL1._Y6F._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T0GI /* \T0GI */
                    If (CondRefOf (\_SB))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (TPGI, One)
                        }

                        INT1 = GNUM (TPGI)
                        INT2 = INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            SHPO (TPGI, One)
                        }
                        Else
                        {
                            SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC00.I2C4.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C4.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC00.I2C5)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, 0x05)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS5 /* \SDS5 */
                I2CX = 0x05
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y70, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y71)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C5.TPD0._Y70._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C5.TPD0._Y70._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C5.TPD0._Y71._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }
                    }

                    _HID = "GXTP7300"
                    HID2 = 0x20
                    BADR = 0x2C
                    SPED = 0x00061A80
                    Return (Zero)
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C5.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y72, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y73)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C5.TPL1._Y72._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C5.TPL1._Y72._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C5.TPL1._Y73._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (TPGI, One)
                        }

                        INT1 = GNUM (TPGI)
                        INT2 = INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            SHPO (TPGI, One)
                        }
                        Else
                        {
                            SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC00.I2C5.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C5.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC00.SPI1)
        {
            Name (SPIP, Zero)
            Name (SPIX, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                SPIP = SDS7 /* \SDS7 */
                SPIX = 0x07
            }

            Device (FPNT)
            {
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    If ((FPTT == One))
                    {
                        Return ("FPC1011")
                    }

                    If ((FPTT == 0x02))
                    {
                        Return ("FPC1020")
                    }

                    If ((FPTT == 0x03))
                    {
                        Return ("VFSI6101")
                    }

                    If ((FPTT == 0x04))
                    {
                        Return ("VFSI7500")
                    }

                    If ((FPTT == 0x05))
                    {
                        Return ("EGIS0300")
                    }

                    If ((FPTT == 0x06))
                    {
                        Return ("FPC1021")
                    }

                    Return ("DUMY0000")
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    SHPO (GFPI, One)
                    SHPO (GFPS, One)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((FPTT != Zero) && (SPIP == One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                {
                    Name (BBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0008
                            }
                    })
                    Name (IBUF, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y74)
                        {
                            0x00000000,
                        }
                    })
                    Name (GBUF, ResourceTemplate ()
                    {
                        GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, _Y75,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    Name (UBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    CreateWordField (BBUF, 0x17, SPIN)
                    CreateWordField (GBUF, 0x17, GPIN)
                    CreateDWordField (IBUF, \_SB.PC00.SPI1.FPNT._CRS._Y74._INT, IPIN)  // _INT: Interrupts
                    CreateWordField (UBUF, 0x17, UPIN)
                    CreateBitField (IBUF, \_SB.PC00.SPI1.FPNT._CRS._Y74._LL, ILVL)  // _LL_: Low Level
                    CreateBitField (IBUF, \_SB.PC00.SPI1.FPNT._CRS._Y74._HE, ITRG)  // _HE_: High-Edge
                    CreateField (GBUF, \_SB.PC00.SPI1.FPNT._CRS._Y75._POL, 0x02, GLVL)  // _POL: Polarity
                    CreateBitField (GBUF, \_SB.PC00.SPI1.FPNT._CRS._Y75._MOD, GTRG)  // _MOD: Mode
                    SPIN = GNUM (GFPS)
                    GPIN = GNUM (GFPI)
                    IPIN = INUM (GFPI)
                    UPIN = GNUM (GFPI)
                    If (((FPTT == 0x02) || (FPTT == 0x06)))
                    {
                        ILVL = Zero
                        ITRG = One
                        GLVL = Zero
                        GTRG = One
                    }

                    If ((FPTT == 0x04))
                    {
                        ILVL = Zero
                        ITRG = One
                    }

                    Switch (ToInteger (FPTT))
                    {
                        Case (One)
                        {
                            Local1 = 0x00989680
                            Local0 = Zero
                        }
                        Case (0x02)
                        {
                            Local1 = 0x002DC6C0
                            Local0 = Zero
                        }
                        Case (0x03)
                        {
                            Local1 = 0x007A1200
                            Local0 = One
                        }
                        Case (0x04)
                        {
                            Local1 = 0x007A1200
                            Local0 = Zero
                        }
                        Case (0x05)
                        {
                            Local1 = 0x00F42400
                            Local0 = Zero
                        }
                        Case (0x06)
                        {
                            Local1 = 0x002DC6C0
                            Local0 = Zero
                        }
                        Default
                        {
                            Local1 = Zero
                            Local0 = Zero
                        }

                    }

                    If ((FPTT == One))
                    {
                        Return (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF))
                    }

                    If (((FPTT == 0x04) && (FPTM == Zero)))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), ConcatenateResTemplate (UBUF, GBUF
                            )))
                    }

                    If (((FPTT == 0x04) && (FPTM != Zero)))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), ConcatenateResTemplate (UBUF, IBUF
                            )))
                    }

                    If ((FPTM == Zero))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), GBUF))
                    }

                    Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), IBUF))
                }
            }
        }

        Scope (_SB.PC00.SPI2)
        {
            Name (SPIP, Zero)
            Name (SPIX, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                SPIP = SDS8 /* \SDS8 */
                SPIX = 0x08
            }

            Device (FPNT)
            {
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    If ((FPTT == One))
                    {
                        Return ("FPC1011")
                    }

                    If ((FPTT == 0x02))
                    {
                        Return ("FPC1020")
                    }

                    If ((FPTT == 0x03))
                    {
                        Return ("VFSI6101")
                    }

                    If ((FPTT == 0x04))
                    {
                        Return ("VFSI7500")
                    }

                    If ((FPTT == 0x05))
                    {
                        Return ("EGIS0300")
                    }

                    If ((FPTT == 0x06))
                    {
                        Return ("FPC1021")
                    }

                    Return ("DUMY0000")
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    SHPO (GFPI, One)
                    SHPO (GFPS, One)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((FPTT != Zero) && (SPIP == One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                {
                    Name (BBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0008
                            }
                    })
                    Name (IBUF, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y76)
                        {
                            0x00000000,
                        }
                    })
                    Name (GBUF, ResourceTemplate ()
                    {
                        GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, _Y77,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    Name (UBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    CreateWordField (BBUF, 0x17, SPIN)
                    CreateWordField (GBUF, 0x17, GPIN)
                    CreateDWordField (IBUF, \_SB.PC00.SPI2.FPNT._CRS._Y76._INT, IPIN)  // _INT: Interrupts
                    CreateWordField (UBUF, 0x17, UPIN)
                    CreateBitField (IBUF, \_SB.PC00.SPI2.FPNT._CRS._Y76._LL, ILVL)  // _LL_: Low Level
                    CreateBitField (IBUF, \_SB.PC00.SPI2.FPNT._CRS._Y76._HE, ITRG)  // _HE_: High-Edge
                    CreateField (GBUF, \_SB.PC00.SPI2.FPNT._CRS._Y77._POL, 0x02, GLVL)  // _POL: Polarity
                    CreateBitField (GBUF, \_SB.PC00.SPI2.FPNT._CRS._Y77._MOD, GTRG)  // _MOD: Mode
                    SPIN = GNUM (GFPS)
                    GPIN = GNUM (GFPI)
                    IPIN = INUM (GFPI)
                    UPIN = GNUM (GFPI)
                    If (((FPTT == 0x02) || (FPTT == 0x06)))
                    {
                        ILVL = Zero
                        ITRG = One
                        GLVL = Zero
                        GTRG = One
                    }

                    If ((FPTT == 0x04))
                    {
                        ILVL = Zero
                        ITRG = One
                    }

                    Switch (ToInteger (FPTT))
                    {
                        Case (One)
                        {
                            Local1 = 0x00989680
                            Local0 = Zero
                        }
                        Case (0x02)
                        {
                            Local1 = 0x002DC6C0
                            Local0 = Zero
                        }
                        Case (0x03)
                        {
                            Local1 = 0x007A1200
                            Local0 = One
                        }
                        Case (0x04)
                        {
                            Local1 = 0x007A1200
                            Local0 = Zero
                        }
                        Case (0x05)
                        {
                            Local1 = 0x00F42400
                            Local0 = Zero
                        }
                        Case (0x06)
                        {
                            Local1 = 0x002DC6C0
                            Local0 = Zero
                        }
                        Default
                        {
                            Local1 = Zero
                            Local0 = Zero
                        }

                    }

                    If ((FPTT == One))
                    {
                        Return (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF))
                    }

                    If (((FPTT == 0x04) && (FPTM == Zero)))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), ConcatenateResTemplate (UBUF, GBUF
                            )))
                    }

                    If (((FPTT == 0x04) && (FPTM != Zero)))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), ConcatenateResTemplate (UBUF, IBUF
                            )))
                    }

                    If ((FPTM == Zero))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), GBUF))
                    }

                    Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), IBUF))
                }
            }
        }
    }
    Else
    {
        Scope (_SB.PC02)
        {
            Name (HIDG, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)
            Name (TP7G, ToUUID ("ef87eb82-f951-46da-84ec-14871ac6f84b") /* Unknown UUID */)
            Method (HIDD, 5, Serialized)
            {
                If ((Arg0 == HIDG))
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == One))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Return (Arg4)
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Method (TP7D, 6, Serialized)
            {
                If ((Arg0 == TP7G))
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == One))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Return (ConcatenateResTemplate (Arg4, Arg5))
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Method (I2CM, 3, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Name (IIC0, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C0",
                                0x00, ResourceConsumer, _Y78, Exclusive,
                                )
                        })
                        CreateWordField (IIC0, \_SB.PC02.I2CM._Y78._ADR, DAD0)  // _ADR: Address
                        CreateDWordField (IIC0, \_SB.PC02.I2CM._Y78._SPE, DSP0)  // _SPE: Speed
                        DAD0 = Arg1
                        DSP0 = Arg2
                        Return (IIC0) /* \_SB_.PC02.I2CM.IIC0 */
                    }
                    Case (One)
                    {
                        Name (IIC1, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C1",
                                0x00, ResourceConsumer, _Y79, Exclusive,
                                )
                        })
                        CreateWordField (IIC1, \_SB.PC02.I2CM._Y79._ADR, DAD1)  // _ADR: Address
                        CreateDWordField (IIC1, \_SB.PC02.I2CM._Y79._SPE, DSP1)  // _SPE: Speed
                        DAD1 = Arg1
                        DSP1 = Arg2
                        Return (IIC1) /* \_SB_.PC02.I2CM.IIC1 */
                    }
                    Case (0x02)
                    {
                        Name (IIC2, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C2",
                                0x00, ResourceConsumer, _Y7A, Exclusive,
                                )
                        })
                        CreateWordField (IIC2, \_SB.PC02.I2CM._Y7A._ADR, DAD2)  // _ADR: Address
                        CreateDWordField (IIC2, \_SB.PC02.I2CM._Y7A._SPE, DSP2)  // _SPE: Speed
                        DAD2 = Arg1
                        DSP2 = Arg2
                        Return (IIC2) /* \_SB_.PC02.I2CM.IIC2 */
                    }
                    Case (0x03)
                    {
                        Name (IIC3, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C3",
                                0x00, ResourceConsumer, _Y7B, Exclusive,
                                )
                        })
                        CreateWordField (IIC3, \_SB.PC02.I2CM._Y7B._ADR, DAD3)  // _ADR: Address
                        CreateDWordField (IIC3, \_SB.PC02.I2CM._Y7B._SPE, DSP3)  // _SPE: Speed
                        DAD3 = Arg1
                        DSP3 = Arg2
                        Return (IIC3) /* \_SB_.PC02.I2CM.IIC3 */
                    }
                    Case (0x04)
                    {
                        Name (IIC4, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C4",
                                0x00, ResourceConsumer, _Y7C, Exclusive,
                                )
                        })
                        CreateWordField (IIC4, \_SB.PC02.I2CM._Y7C._ADR, DAD4)  // _ADR: Address
                        CreateDWordField (IIC4, \_SB.PC02.I2CM._Y7C._SPE, DSP4)  // _SPE: Speed
                        DAD4 = Arg1
                        DSP4 = Arg2
                        Return (IIC4) /* \_SB_.PC02.I2CM.IIC4 */
                    }
                    Case (0x05)
                    {
                        Name (IIC5, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C5",
                                0x00, ResourceConsumer, _Y7D, Exclusive,
                                )
                        })
                        CreateWordField (IIC5, \_SB.PC02.I2CM._Y7D._ADR, DAD5)  // _ADR: Address
                        CreateDWordField (IIC5, \_SB.PC02.I2CM._Y7D._SPE, DSP5)  // _SPE: Speed
                        DAD5 = Arg1
                        DSP5 = Arg2
                        Return (IIC5) /* \_SB_.PC02.I2CM.IIC5 */
                    }
                    Case (0x0C)
                    {
                        Name (IIC6, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C6",
                                0x00, ResourceConsumer, _Y7E, Exclusive,
                                )
                        })
                        CreateWordField (IIC6, \_SB.PC02.I2CM._Y7E._ADR, DAD6)  // _ADR: Address
                        CreateDWordField (IIC6, \_SB.PC02.I2CM._Y7E._SPE, DSP6)  // _SPE: Speed
                        DAD6 = Arg1
                        DSP6 = Arg2
                        Return (IIC6) /* \_SB_.PC02.I2CM.IIC6 */
                    }
                    Case (0x0D)
                    {
                        Name (IIC7, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C7",
                                0x00, ResourceConsumer, _Y7F, Exclusive,
                                )
                        })
                        CreateWordField (IIC7, \_SB.PC02.I2CM._Y7F._ADR, DAD7)  // _ADR: Address
                        CreateDWordField (IIC7, \_SB.PC02.I2CM._Y7F._SPE, DSP7)  // _SPE: Speed
                        DAD7 = Arg1
                        DSP7 = Arg2
                        Return (IIC7) /* \_SB_.PC02.I2CM.IIC7 */
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }

            Method (SPIM, 3, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (0x07)
                    {
                        Name (IIC7, ResourceTemplate ()
                        {
                            SpiSerialBusV2 (0x0000, PolarityLow, FourWireMode, 0x08,
                                ControllerInitiated, 0x00989680, ClockPolarityLow,
                                ClockPhaseFirst, "\\_SB.PC02.SPI1",
                                0x00, ResourceConsumer, _Y80, Exclusive,
                                )
                        })
                        CreateByteField (IIC7, \_SB.PC02.SPIM._Y80._PHA, DPH7)  // _PHA: Clock Phase
                        CreateDWordField (IIC7, \_SB.PC02.SPIM._Y80._SPE, DSP7)  // _SPE: Speed
                        DPH7 = Arg1
                        DSP7 = Arg2
                        Return (IIC7) /* \_SB_.PC02.SPIM.IIC7 */
                    }
                    Case (0x08)
                    {
                        Name (IIC8, ResourceTemplate ()
                        {
                            SpiSerialBusV2 (0x0000, PolarityLow, FourWireMode, 0x08,
                                ControllerInitiated, 0x00989680, ClockPolarityLow,
                                ClockPhaseFirst, "\\_SB.PC02.SPI2",
                                0x00, ResourceConsumer, _Y81, Exclusive,
                                )
                        })
                        CreateByteField (IIC8, \_SB.PC02.SPIM._Y81._PHA, DPH8)  // _PHA: Clock Phase
                        CreateDWordField (IIC8, \_SB.PC02.SPIM._Y81._SPE, DSP8)  // _SPE: Speed
                        DPH8 = Arg1
                        DSP8 = Arg2
                        Return (IIC8) /* \_SB_.PC02.SPIM.IIC8 */
                    }
                    Default
                    {
                        Return (Buffer (0x02)
                        {
                             0x79, 0x00                                       // y.
                        })
                    }

                }
            }

            Method (UCMM, 1, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Name (UCM0, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C0",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C0",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C0",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C0",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM0) /* \_SB_.PC02.UCMM.UCM0 */
                    }
                    Case (One)
                    {
                        Name (UCM1, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C1",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C1",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C1",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C1",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM1) /* \_SB_.PC02.UCMM.UCM1 */
                    }
                    Case (0x02)
                    {
                        Name (UCM2, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C2",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C2",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C2",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C2",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM2) /* \_SB_.PC02.UCMM.UCM2 */
                    }
                    Case (0x03)
                    {
                        Name (UCM3, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C3",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C3",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C3",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C3",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM3) /* \_SB_.PC02.UCMM.UCM3 */
                    }
                    Case (0x04)
                    {
                        Name (UCM4, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C4",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C4",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C4",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C4",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM4) /* \_SB_.PC02.UCMM.UCM4 */
                    }
                    Case (0x05)
                    {
                        Name (UCM5, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C5",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C5",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C5",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C5",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM5) /* \_SB_.PC02.UCMM.UCM5 */
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
        }

        Scope (_SB.PC02.I2C0)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS0 /* \SDS0 */
                I2CX = Zero
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y82, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y83)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C0.TPD0._Y82._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C0.TPD0._Y82._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C0.TPD0._Y83._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }
                    }

                    _HID = "GXTP7300"
                    HID2 = 0x20
                    BADR = 0x2C
                    SPED = 0x00061A80
                    Return (Zero)
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C0.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y84, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y85)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C0.TPL1._Y84._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C0.TPL1._Y84._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C0.TPL1._Y85._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (TPGI, One)
                        }

                        INT1 = GNUM (TPGI)
                        INT2 = INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            SHPO (TPGI, One)
                        }
                        Else
                        {
                            SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC02.I2C0.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C0.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC02.I2C1)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, One)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS1 /* \SDS1 */
                I2CX = One
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y86, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y87)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C1.TPD0._Y86._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C1.TPD0._Y86._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C1.TPD0._Y87._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }
                    }

                    _HID = "GXTP7300"
                    HID2 = 0x20
                    BADR = 0x2C
                    SPED = 0x00061A80
                    Return (Zero)
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C1.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y88, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y89)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C1.TPL1._Y88._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C1.TPL1._Y88._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C1.TPL1._Y89._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (TPGI, One)
                        }

                        INT1 = GNUM (TPGI)
                        INT2 = INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            SHPO (TPGI, One)
                        }
                        Else
                        {
                            SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC02.I2C1.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C1.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC02.I2C2)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, 0x02)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS2 /* \SDS2 */
                I2CX = 0x02
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y8A, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y8B)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C2.TPD0._Y8A._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C2.TPD0._Y8A._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C2.TPD0._Y8B._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }
                    }

                    _HID = "GXTP7300"
                    HID2 = 0x20
                    BADR = 0x2C
                    SPED = 0x00061A80
                    Return (Zero)
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C2.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y8C, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y8D)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C2.TPL1._Y8C._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C2.TPL1._Y8C._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C2.TPL1._Y8D._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (TPGI, One)
                        }

                        INT1 = GNUM (TPGI)
                        INT2 = INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            SHPO (TPGI, One)
                        }
                        Else
                        {
                            SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC02.I2C2.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C2.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC02.I2C3)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, 0x03)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS3 /* \SDS3 */
                I2CX = 0x03
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y8E, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y8F)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C3.TPD0._Y8E._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C3.TPD0._Y8E._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C3.TPD0._Y8F._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }
                    }

                    _HID = "GXTP7300"
                    HID2 = 0x20
                    BADR = 0x2C
                    SPED = 0x00061A80
                    Return (Zero)
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C3.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y90, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y91)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C3.TPL1._Y90._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C3.TPL1._Y90._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C3.TPL1._Y91._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (TPGI, One)
                        }

                        INT1 = GNUM (TPGI)
                        INT2 = INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            SHPO (TPGI, One)
                        }
                        Else
                        {
                            SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC02.I2C3.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C3.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC02.I2C4)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, 0x04)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS4 /* \SDS4 */
                I2CX = 0x04
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y92, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y93)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C4.TPD0._Y92._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C4.TPD0._Y92._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C4.TPD0._Y93._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }
                    }

                    _HID = "GXTP7300"
                    HID2 = 0x20
                    BADR = 0x2C
                    SPED = 0x00061A80
                    Return (Zero)
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C4.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y94, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y95)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C4.TPL1._Y94._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C4.TPL1._Y94._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C4.TPL1._Y95._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T0GI /* \T0GI */
                    If (CondRefOf (\_SB))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (TPGI, One)
                        }

                        INT1 = GNUM (TPGI)
                        INT2 = INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            SHPO (TPGI, One)
                        }
                        Else
                        {
                            SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC02.I2C4.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C4.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC02.I2C5)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, 0x05)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS5 /* \SDS5 */
                I2CX = 0x05
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y96, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y97)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C5.TPD0._Y96._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C5.TPD0._Y96._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C5.TPD0._Y97._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }
                    }

                    _HID = "GXTP7300"
                    HID2 = 0x20
                    BADR = 0x2C
                    SPED = 0x00061A80
                    Return (Zero)
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C5.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y98, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y99)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C5.TPL1._Y98._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C5.TPL1._Y98._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C5.TPL1._Y99._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (TPGI, One)
                        }

                        INT1 = GNUM (TPGI)
                        INT2 = INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            SHPO (TPGI, One)
                        }
                        Else
                        {
                            SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC02.I2C5.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C5.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC02.SPI1)
        {
            Name (SPIP, Zero)
            Name (SPIX, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                SPIP = SDS7 /* \SDS7 */
                SPIX = 0x07
            }

            Device (FPNT)
            {
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    If ((FPTT == One))
                    {
                        Return ("FPC1011")
                    }

                    If ((FPTT == 0x02))
                    {
                        Return ("FPC1020")
                    }

                    If ((FPTT == 0x03))
                    {
                        Return ("VFSI6101")
                    }

                    If ((FPTT == 0x04))
                    {
                        Return ("VFSI7500")
                    }

                    If ((FPTT == 0x05))
                    {
                        Return ("EGIS0300")
                    }

                    If ((FPTT == 0x06))
                    {
                        Return ("FPC1021")
                    }

                    Return ("DUMY0000")
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    SHPO (GFPI, One)
                    SHPO (GFPS, One)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((FPTT != Zero) && (SPIP == One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                {
                    Name (BBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0008
                            }
                    })
                    Name (IBUF, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y9A)
                        {
                            0x00000000,
                        }
                    })
                    Name (GBUF, ResourceTemplate ()
                    {
                        GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, _Y9B,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    Name (UBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    CreateWordField (BBUF, 0x17, SPIN)
                    CreateWordField (GBUF, 0x17, GPIN)
                    CreateDWordField (IBUF, \_SB.PC02.SPI1.FPNT._CRS._Y9A._INT, IPIN)  // _INT: Interrupts
                    CreateWordField (UBUF, 0x17, UPIN)
                    CreateBitField (IBUF, \_SB.PC02.SPI1.FPNT._CRS._Y9A._LL, ILVL)  // _LL_: Low Level
                    CreateBitField (IBUF, \_SB.PC02.SPI1.FPNT._CRS._Y9A._HE, ITRG)  // _HE_: High-Edge
                    CreateField (GBUF, \_SB.PC02.SPI1.FPNT._CRS._Y9B._POL, 0x02, GLVL)  // _POL: Polarity
                    CreateBitField (GBUF, \_SB.PC02.SPI1.FPNT._CRS._Y9B._MOD, GTRG)  // _MOD: Mode
                    SPIN = GNUM (GFPS)
                    GPIN = GNUM (GFPI)
                    IPIN = INUM (GFPI)
                    UPIN = GNUM (GFPI)
                    If (((FPTT == 0x02) || (FPTT == 0x06)))
                    {
                        ILVL = Zero
                        ITRG = One
                        GLVL = Zero
                        GTRG = One
                    }

                    If ((FPTT == 0x04))
                    {
                        ILVL = Zero
                        ITRG = One
                    }

                    Switch (ToInteger (FPTT))
                    {
                        Case (One)
                        {
                            Local1 = 0x00989680
                            Local0 = Zero
                        }
                        Case (0x02)
                        {
                            Local1 = 0x002DC6C0
                            Local0 = Zero
                        }
                        Case (0x03)
                        {
                            Local1 = 0x007A1200
                            Local0 = One
                        }
                        Case (0x04)
                        {
                            Local1 = 0x007A1200
                            Local0 = Zero
                        }
                        Case (0x05)
                        {
                            Local1 = 0x00F42400
                            Local0 = Zero
                        }
                        Case (0x06)
                        {
                            Local1 = 0x002DC6C0
                            Local0 = Zero
                        }
                        Default
                        {
                            Local1 = Zero
                            Local0 = Zero
                        }

                    }

                    If ((FPTT == One))
                    {
                        Return (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF))
                    }

                    If (((FPTT == 0x04) && (FPTM == Zero)))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), ConcatenateResTemplate (UBUF, GBUF
                            )))
                    }

                    If (((FPTT == 0x04) && (FPTM != Zero)))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), ConcatenateResTemplate (UBUF, IBUF
                            )))
                    }

                    If ((FPTM == Zero))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), GBUF))
                    }

                    Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), IBUF))
                }
            }
        }

        Scope (_SB.PC02.SPI2)
        {
            Name (SPIP, Zero)
            Name (SPIX, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                SPIP = SDS8 /* \SDS8 */
                SPIX = 0x08
            }

            Device (FPNT)
            {
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    If ((FPTT == One))
                    {
                        Return ("FPC1011")
                    }

                    If ((FPTT == 0x02))
                    {
                        Return ("FPC1020")
                    }

                    If ((FPTT == 0x03))
                    {
                        Return ("VFSI6101")
                    }

                    If ((FPTT == 0x04))
                    {
                        Return ("VFSI7500")
                    }

                    If ((FPTT == 0x05))
                    {
                        Return ("EGIS0300")
                    }

                    If ((FPTT == 0x06))
                    {
                        Return ("FPC1021")
                    }

                    Return ("DUMY0000")
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    SHPO (GFPI, One)
                    SHPO (GFPS, One)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((FPTT != Zero) && (SPIP == One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                {
                    Name (BBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0008
                            }
                    })
                    Name (IBUF, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y9C)
                        {
                            0x00000000,
                        }
                    })
                    Name (GBUF, ResourceTemplate ()
                    {
                        GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, _Y9D,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    Name (UBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    CreateWordField (BBUF, 0x17, SPIN)
                    CreateWordField (GBUF, 0x17, GPIN)
                    CreateDWordField (IBUF, \_SB.PC02.SPI2.FPNT._CRS._Y9C._INT, IPIN)  // _INT: Interrupts
                    CreateWordField (UBUF, 0x17, UPIN)
                    CreateBitField (IBUF, \_SB.PC02.SPI2.FPNT._CRS._Y9C._LL, ILVL)  // _LL_: Low Level
                    CreateBitField (IBUF, \_SB.PC02.SPI2.FPNT._CRS._Y9C._HE, ITRG)  // _HE_: High-Edge
                    CreateField (GBUF, \_SB.PC02.SPI2.FPNT._CRS._Y9D._POL, 0x02, GLVL)  // _POL: Polarity
                    CreateBitField (GBUF, \_SB.PC02.SPI2.FPNT._CRS._Y9D._MOD, GTRG)  // _MOD: Mode
                    SPIN = GNUM (GFPS)
                    GPIN = GNUM (GFPI)
                    IPIN = INUM (GFPI)
                    UPIN = GNUM (GFPI)
                    If (((FPTT == 0x02) || (FPTT == 0x06)))
                    {
                        ILVL = Zero
                        ITRG = One
                        GLVL = Zero
                        GTRG = One
                    }

                    If ((FPTT == 0x04))
                    {
                        ILVL = Zero
                        ITRG = One
                    }

                    Switch (ToInteger (FPTT))
                    {
                        Case (One)
                        {
                            Local1 = 0x00989680
                            Local0 = Zero
                        }
                        Case (0x02)
                        {
                            Local1 = 0x002DC6C0
                            Local0 = Zero
                        }
                        Case (0x03)
                        {
                            Local1 = 0x007A1200
                            Local0 = One
                        }
                        Case (0x04)
                        {
                            Local1 = 0x007A1200
                            Local0 = Zero
                        }
                        Case (0x05)
                        {
                            Local1 = 0x00F42400
                            Local0 = Zero
                        }
                        Case (0x06)
                        {
                            Local1 = 0x002DC6C0
                            Local0 = Zero
                        }
                        Default
                        {
                            Local1 = Zero
                            Local0 = Zero
                        }

                    }

                    If ((FPTT == One))
                    {
                        Return (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF))
                    }

                    If (((FPTT == 0x04) && (FPTM == Zero)))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), ConcatenateResTemplate (UBUF, GBUF
                            )))
                    }

                    If (((FPTT == 0x04) && (FPTM != Zero)))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), ConcatenateResTemplate (UBUF, IBUF
                            )))
                    }

                    If ((FPTM == Zero))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), GBUF))
                    }

                    Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), IBUF))
                }
            }
        }
    }

    Method (PKG1, 1, Serialized)
    {
        Name (PKG, Package (0x01)
        {
            Zero
        })
        PKG [Zero] = Arg0
        Return (PKG) /* \PKG1.PKG_ */
    }

    Method (PKG3, 3, Serialized)
    {
        Name (PKG, Package (0x03)
        {
            Zero, 
            Zero, 
            Zero
        })
        PKG [Zero] = Arg0
        PKG [One] = Arg1
        PKG [0x02] = Arg2
        Return (PKG) /* \PKG3.PKG_ */
    }

    If (USTP)
    {
        If ((PCHA == Zero))
        {
            Scope (_SB.PC00.I2C0)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH0, SSL0, SSD0))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH0, FML0, FMD0))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH0, FPL0, FPD0))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH0, HSL0, HSD0))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C0))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C0))
                }
            }

            Scope (_SB.PC00.I2C1)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH1, SSL1, SSD1))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH1, FML1, FMD1))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH1, FPL1, FPD1))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH1, HSL1, HSD1))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C1))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C1))
                }
            }

            Scope (_SB.PC00.I2C2)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH2, SSL2, SSD2))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH2, FML2, FMD2))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH2, FPL2, FPD2))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH2, HSL2, HSD2))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C2))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C2))
                }
            }

            Scope (_SB.PC00.I2C3)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH3, SSL3, SSD3))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH3, FML3, FMD3))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH3, FPL3, FPD3))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH3, HSL3, HSD3))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C3))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C3))
                }
            }

            Scope (_SB.PC00.I2C4)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH4, SSL4, SSD4))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH4, FML4, FMD4))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH4, FPL4, FPD4))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH4, HSL4, HSD4))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C4))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C4))
                }
            }

            Scope (_SB.PC00.I2C5)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH5, SSL5, SSD5))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH5, FML5, FMD5))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH5, FPL5, FPD5))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH5, HSL5, HSD5))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C5))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C5))
                }
            }

            Scope (_SB.PC00.SPI0)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C6))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C6))
                }
            }

            Scope (_SB.PC00.SPI1)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C7))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C7))
                }
            }

            Scope (_SB.PC00.SPI2)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C8))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C8))
                }
            }

            Scope (_SB.PC00.UA00)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C9))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C9))
                }
            }

            Scope (_SB.PC00.UA01)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0CA))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1CA))
                }
            }

            Scope (_SB.PC00.UA02)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0CB))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1CB))
                }
            }
        }
        Else
        {
            Scope (_SB.PC02.I2C0)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH0, SSL0, SSD0))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH0, FML0, FMD0))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH0, FPL0, FPD0))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH0, HSL0, HSD0))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C0))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C0))
                }
            }

            Scope (_SB.PC02.I2C1)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH1, SSL1, SSD1))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH1, FML1, FMD1))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH1, FPL1, FPD1))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH1, HSL1, HSD1))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C1))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C1))
                }
            }

            Scope (_SB.PC02.I2C2)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH2, SSL2, SSD2))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH2, FML2, FMD2))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH2, FPL2, FPD2))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH2, HSL2, HSD2))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C2))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C2))
                }
            }

            Scope (_SB.PC02.I2C3)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH3, SSL3, SSD3))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH3, FML3, FMD3))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH3, FPL3, FPD3))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH3, HSL3, HSD3))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C3))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C3))
                }
            }

            Scope (_SB.PC02.I2C4)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH4, SSL4, SSD4))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH4, FML4, FMD4))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH4, FPL4, FPD4))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH4, HSL4, HSD4))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C4))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C4))
                }
            }

            Scope (_SB.PC02.I2C5)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH5, SSL5, SSD5))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH5, FML5, FMD5))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH5, FPL5, FPD5))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH5, HSL5, HSD5))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C5))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C5))
                }
            }

            Scope (_SB.PC02.SPI0)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C6))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C6))
                }
            }

            Scope (_SB.PC02.SPI1)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C7))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C7))
                }
            }

            Scope (_SB.PC02.SPI2)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C8))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C8))
                }
            }

            Scope (_SB.PC02.UA00)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C9))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C9))
                }
            }

            Scope (_SB.PC02.UA01)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0CA))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1CA))
                }
            }

            Scope (_SB.PC02.UA02)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0CB))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1CB))
                }
            }
        }
    }

    Scope (_SB)
    {
        Device (HIDD)
        {
            Name (_HID, "INTC1077")  // _HID: Hardware ID
            If (((ARLP == One) || (ARLS == One)))
            {
                _HID = "INTC10CB"
            }

            Name (HBSY, Zero)
            Name (HIDX, Zero)
            Name (HMDE, Zero)
            Name (HRDY, Zero)
            Name (BTLD, Zero)
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                If (((OSYS >= 0x07DD) && (HEFE == One)))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (HDDM, 0, Serialized)
            {
                Name (DPKG, Package (0x04)
                {
                    0x11111111, 
                    0x22222222, 
                    0x33333333, 
                    0x44444444
                })
                Return (DPKG) /* \_SB_.HIDD.HDDM.DPKG */
            }

            Method (HDEM, 0, Serialized)
            {
                HBSY = Zero
                If ((HMDE == Zero))
                {
                    Return (HIDX) /* \_SB_.HIDD.HIDX */
                }

                Return (HMDE) /* \_SB_.HIDD.HMDE */
            }

            Method (HDMM, 0, Serialized)
            {
                Return (HMDE) /* \_SB_.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)
                }
            }
        }
    }

    Method (ISAR, 4, NotSerialized)
    {
        ADBG ("ISAR")
        Name (BUF1, Buffer (0x02)
        {
             0x00, 0x00                                       // ..
        })
        If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37") /* Unknown UUID */))
        {
            If ((Arg2 == 0x03))
            {
                If (CondRefOf (\_SB.USSV))
                {
                    Local1 = DerefOf (Arg3 [One])
                    Local1 += One
                    Local2 = DerefOf (Arg3 [0x02])
                    Local2 += One
                    Local2 <<= 0x10
                    Local2 |= Local1
                    \_SB.USSV (Local2)
                    Notify (\_SB.WFDE, 0xD0) // Hardware-Specific
                }

                Return (Zero)
            }
            Else
            {
                Return (Zero)
            }
        }
        Else
        {
            Return (Buffer (One)
            {
                 0x00                                             // .
            })
        }
    }

    Scope (\)
    {
        PowerResource (PIN, 0x00, 0x0000)
        {
            Method (STA, 1, Serialized)
            {
                If ((\_SB.GGOV (DerefOf (Arg0 [Zero])) == DerefOf (Arg0 [One]
                    )))
                {
                    Return (One)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (ON, 1, Serialized)
            {
                ADBG (Concatenate ("PINH GPIO=", ToHexString (DerefOf (Arg0 [Zero]))))
                \_SB.SGOV (DerefOf (Arg0 [Zero]), DerefOf (Arg0 [One]))
            }

            Method (OFF, 1, Serialized)
            {
                ADBG (Concatenate ("PINL GPIO=", ToHexString (DerefOf (Arg0 [Zero]))))
                \_SB.SGOV (DerefOf (Arg0 [Zero]), ~DerefOf (Arg0 [One])
                    )
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
            }
        }

        If ((PCHA != Zero))
        {
            PowerResource (PPIN, 0x00, 0x0000)
            {
                Method (STA, 1, Serialized)
                {
                    If ((\_SB.PGPI.GGOV (DerefOf (Arg0 [Zero])) == DerefOf (Arg0 [One]
                        )))
                    {
                        Return (One)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (ON, 1, Serialized)
                {
                    ADBG (Concatenate ("PINH GPIO=", ToHexString (DerefOf (Arg0 [Zero]))))
                    \_SB.PGPI.SGOV (DerefOf (Arg0 [Zero]), DerefOf (Arg0 [One]))
                }

                Method (OFF, 1, Serialized)
                {
                    ADBG (Concatenate ("PINL GPIO=", ToHexString (DerefOf (Arg0 [Zero]))))
                    \_SB.PGPI.SGOV (DerefOf (Arg0 [Zero]), ~DerefOf (Arg0 [One])
                        )
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (Zero)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                }
            }
        }
    }

    If ((CVFS == One))
    {
        If (ARLP)
        {
            Scope (_SB.PC00)
            {
                Device (CVSS)
                {
                    ADBG ("CVSS Device Entry")
                    Name (_UID, "CVSS")  // _UID: Unique ID
                    Name (_DDN, "Intel CVS Device")  // _DDN: DOS Device Name
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return ("INTC10DE")
                    }

                    Name (IICF, One)
                    Method (IICS, 0, NotSerialized)
                    {
                        Return (IICF) /* \_SB_.PC00.CVSS.IICF */
                    }

                    Method (SID, 1, Serialized)
                    {
                        Return (HCID (One))
                    }

                    Name (PKG0, Package (0x01)
                    {
                        "\\_SB.PC00.XHCI.RHUB.HS06.VGP1"
                    })
                    Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                    {
                        If ((CVFS == One))
                        {
                            Return (PKG0) /* \_SB_.PC00.CVSS.PKG0 */
                        }

                        Return (Package (0x00){})
                    }

                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        Name (CBF1, ResourceTemplate ()
                        {
                            GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                                "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                                )
                                {   // Pin list
                                    0x00D4
                                }
                            GpioInt (Edge, ActiveLow, Shared, PullDefault, 0x0000,
                                "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                                )
                                {   // Pin list
                                    0x00D4
                                }
                        })
                        Name (VGB1, ResourceTemplate ()
                        {
                            GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                                "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                )
                                {   // Pin list
                                    0x0000
                                }
                            GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                                "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                )
                                {   // Pin list
                                    0x0002
                                }
                            GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                                "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                )
                                {   // Pin list
                                    0x001B
                                }
                        })
                        Name (IIC1, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C1",
                                0x00, ResourceConsumer, _Y9E, Exclusive,
                                )
                        })
                        CreateWordField (IIC1, \_SB.PC00.CVSS._CRS._Y9E._ADR, DAD0)  // _ADR: Address
                        DAD0 = 0x76
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (CBF1, VGB1), IIC1))
                    }
                }
            }

            Scope (_SB.PC00.XHCI.RHUB.HS06)
            {
                Device (VGP1)
                {
                    ADBG ("VGP1 Virutal GPIO Device Entry")
                    Name (_UID, "VGP1")  // _UID: Unique ID
                    Name (_DDN, "Intel UsbGpio Device")  // _DDN: DOS Device Name
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return ("INTC10B5")
                    }

                    If ((CVFT == One))
                    {
                        Device (GPOT)
                        {
                            Name (_UID, "GPOT")  // _UID: Unique ID
                            Name (_HID, "GPTS0000")  // _HID: Hardware ID
                            Name (_CID, "GPTS0000")  // _CID: Compatible ID
                            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                            {
                                Name (SBUF, ResourceTemplate ()
                                {
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0000
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0001
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0002
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0003
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0004
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0005
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0006
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0007
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0008
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0009
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x000A
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x000B
                                        }
                                })
                                Return (SBUF) /* \_SB_.PC00.XHCI.RHUB.HS06.VGP1.GPOT._CRS.SBUF */
                            }
                        }
                    }
                }
            }
        }
        Else
        {
            Scope (_SB.PC00)
            {
                Device (SPFD)
                {
                    ADBG ("SPFD Device Entry")
                    Name (_UID, "SPFD")  // _UID: Unique ID
                    Name (_DDN, "Intel SPI OED Device")  // _DDN: DOS Device Name
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return ("INTC10D0")
                    }

                    Name (PKG0, Package (0x02)
                    {
                        "\\_SB.PC00.XHCI.RHUB.VGPO", 
                        "\\_SB.PC00.XHCI.RHUB.VSPI"
                    })
                    Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                    {
                        If ((CVFS == One))
                        {
                            Return (PKG0) /* \_SB_.PC00.SPFD.PKG0 */
                        }

                        Return (Package (0x00){})
                    }

                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        Name (CBF1, ResourceTemplate ()
                        {
                            GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                                "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                                )
                                {   // Pin list
                                    0x0048
                                }
                            GpioInt (Edge, ActiveLow, Shared, PullDefault, 0x0000,
                                "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                                )
                                {   // Pin list
                                    0x0048
                                }
                        })
                        Name (CBF2, ResourceTemplate ()
                        {
                            GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                                "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                                )
                                {   // Pin list
                                    0x0037
                                }
                            GpioInt (Edge, ActiveLow, Shared, PullDefault, 0x0000,
                                "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                                )
                                {   // Pin list
                                    0x0037
                                }
                        })
                        Name (CBF3, ResourceTemplate ()
                        {
                            GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                                "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                                )
                                {   // Pin list
                                    0x0080
                                }
                            GpioInt (Edge, ActiveLow, Shared, PullDefault, 0x0000,
                                "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                                )
                                {   // Pin list
                                    0x0080
                                }
                        })
                        Name (VGB1, ResourceTemplate ()
                        {
                            GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                                "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                )
                                {   // Pin list
                                    0x0000
                                }
                            GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                                "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                )
                                {   // Pin list
                                    0x0001
                                }
                        })
                        Name (VSB1, ResourceTemplate ()
                        {
                            SpiSerialBusV2 (0x0000, PolarityLow, FourWireMode, 0x08,
                                ControllerInitiated, 0x00895440, ClockPolarityHigh,
                                ClockPhaseSecond, "\\_SB.PC00.XHCI.RHUB.VSPI",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        If ((CVFS == One))
                        {
                            ADBG ("SPFD _CRS returns resources for usb based cvf")
                            If ((ToInteger (PLID) == 0x06))
                            {
                                Return (ConcatenateResTemplate (ConcatenateResTemplate (CBF2, VGB1), VSB1))
                            }
                            ElseIf (((ToInteger (PLID) == 0x07) || (ToInteger (PLID) == 
                                0x08)))
                            {
                                Return (ConcatenateResTemplate (ConcatenateResTemplate (CBF3, VGB1), VSB1))
                            }

                            Return (ConcatenateResTemplate (ConcatenateResTemplate (CBF1, VGB1), VSB1))
                        }

                        Return (ResourceTemplate ()
                        {
                            GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                "\\_SB.PC00", 0x00, ResourceConsumer, ,
                                )
                                {   // Pin list
                                    0x0000
                                }
                        })
                    }

                    Device (CVFD)
                    {
                        ADBG ("CVFD Device Entry")
                        Name (_UID, "CVFD")  // _UID: Unique ID
                        Name (_DDN, "Intel CVF Device")  // _DDN: DOS Device Name
                        Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                        {
                            Return ("INTC10CF")
                        }

                        Method (SID, 1, Serialized)
                        {
                            Return (HCID (One))
                        }
                    }
                }
            }

            Scope (_SB.PC00.XHCI.RHUB)
            {
                Device (VGPO)
                {
                    ADBG ("VGPO Virutal GPIO Device Entry")
                    Name (_UID, "VGPO")  // _UID: Unique ID
                    Name (_DDN, "Intel UsbGpio Device")  // _DDN: DOS Device Name
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return ("INTC10D1")
                    }

                    Name (PKG1, Package (0x01)
                    {
                        "\\_SB.PC00.XHCI.RHUB.HS04"
                    })
                    Name (PKG2, Package (0x01)
                    {
                        "\\_SB.PC00.XHCI.RHUB.HS06"
                    })
                    Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                    {
                        If ((CUPN == 0x04))
                        {
                            Return (PKG1) /* \_SB_.PC00.XHCI.RHUB.VGPO.PKG1 */
                        }
                        ElseIf ((CUPN == 0x06))
                        {
                            Return (PKG2) /* \_SB_.PC00.XHCI.RHUB.VGPO.PKG2 */
                        }

                        Return (Package (0x00){})
                    }

                    If ((CVFT == One))
                    {
                        Device (GPOT)
                        {
                            ADBG ("GPOT: Virtual GPIO Test Device Entry")
                            Name (_UID, "GPOT")  // _UID: Unique ID
                            Name (_HID, "GPTS0000")  // _HID: Hardware ID
                            Name (_CID, "GPTS0000")  // _CID: Compatible ID
                            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                            {
                                Name (SBUF, ResourceTemplate ()
                                {
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0000
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0001
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0002
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0003
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0004
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0005
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0006
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0007
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0008
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x0009
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x000A
                                        }
                                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                        "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                        )
                                        {   // Pin list
                                            0x000B
                                        }
                                })
                                Return (SBUF) /* \_SB_.PC00.XHCI.RHUB.VGPO.GPOT._CRS.SBUF */
                            }
                        }
                    }
                }

                Device (VIC0)
                {
                    ADBG ("VIC0: Virtual I2C Device Entry")
                    Name (_UID, "VIC0")  // _UID: Unique ID
                    Name (_DDN, "Intel UsbI2C Device")  // _DDN: DOS Device Name
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return ("INTC10D2")
                    }

                    Name (PKG1, Package (0x01)
                    {
                        "\\_SB.PC00.XHCI.RHUB.HS04"
                    })
                    Name (PKG2, Package (0x01)
                    {
                        "\\_SB.PC00.XHCI.RHUB.HS06"
                    })
                    Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                    {
                        If ((CUPN == 0x04))
                        {
                            Return (PKG1) /* \_SB_.PC00.XHCI.RHUB.VIC0.PKG1 */
                        }
                        ElseIf ((CUPN == 0x06))
                        {
                            Return (PKG2) /* \_SB_.PC00.XHCI.RHUB.VIC0.PKG2 */
                        }

                        Return (Package (0x00){})
                    }

                    If ((CVFT == 0x02))
                    {
                        Device (IICT)
                        {
                            ADBG ("IICT: Virtual I2C Test device Entry")
                            Name (_UID, "IICT")  // _UID: Unique ID
                            Name (_HID, "IIC0001")  // _HID: Hardware ID
                            Name (_CID, "IIC0001")  // _CID: Compatible ID
                            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                            {
                                ADBG ("IICT returning VIC0")
                                Return (VIIC (0x7F, Zero))
                            }
                        }
                    }
                }

                Device (VIC1)
                {
                    ADBG ("VIC1: Virtual I2C Device Entry")
                    Name (_UID, "VIC1")  // _UID: Unique ID
                    Name (_DDN, "Intel UsbI2C Device")  // _DDN: DOS Device Name
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return ("INTC10D2")
                    }

                    Name (PKG1, Package (0x01)
                    {
                        "\\_SB.PC00.XHCI.RHUB.HS04"
                    })
                    Name (PKG2, Package (0x01)
                    {
                        "\\_SB.PC00.XHCI.RHUB.HS06"
                    })
                    Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                    {
                        If ((CUPN == 0x04))
                        {
                            Return (PKG1) /* \_SB_.PC00.XHCI.RHUB.VIC1.PKG1 */
                        }
                        ElseIf ((CUPN == 0x06))
                        {
                            Return (PKG2) /* \_SB_.PC00.XHCI.RHUB.VIC1.PKG2 */
                        }

                        Return (Package (0x00){})
                    }

                    If ((CVFT == 0x02))
                    {
                        Device (IICT)
                        {
                            ADBG ("IICT: Virtual I2C Test device Entry")
                            Name (_UID, "IICT")  // _UID: Unique ID
                            Name (_HID, "IIC0001")  // _HID: Hardware ID
                            Name (_CID, "IIC0001")  // _CID: Compatible ID
                            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                            {
                                ADBG ("IICT returning VIC1")
                                Return (VIIC (0x7F, One))
                            }
                        }
                    }
                }

                Device (VSPI)
                {
                    ADBG ("VSPI: Virtual SPI Device Entry")
                    Name (_UID, "VSPI")  // _UID: Unique ID
                    Name (_DDN, "Intel UsbSPI Device")  // _DDN: DOS Device Name
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return ("INTC10D3")
                    }

                    Name (PKG1, Package (0x01)
                    {
                        "\\_SB.PC00.XHCI.RHUB.HS04"
                    })
                    Name (PKG2, Package (0x01)
                    {
                        "\\_SB.PC00.XHCI.RHUB.HS06"
                    })
                    Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                    {
                        If ((CUPN == 0x04))
                        {
                            Return (PKG1) /* \_SB_.PC00.XHCI.RHUB.VSPI.PKG1 */
                        }
                        ElseIf ((CUPN == 0x06))
                        {
                            Return (PKG2) /* \_SB_.PC00.XHCI.RHUB.VSPI.PKG2 */
                        }

                        Return (Package (0x00){})
                    }

                    If ((CVFT == 0x03))
                    {
                        Device (SPIT)
                        {
                            ADBG ("SPIT: Virtual SPI Test device Entry")
                            Name (_UID, "SPIT")  // _UID: Unique ID
                            Name (_HID, "VSPI0001")  // _HID: Hardware ID
                            Name (_CID, "VSPI0001")  // _CID: Compatible ID
                            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                            {
                                Name (XBUF, ResourceTemplate ()
                                {
                                    SpiSerialBusV2 (0x0000, PolarityLow, FourWireMode, 0x08,
                                        ControllerInitiated, 0x00D59F80, ClockPolarityHigh,
                                        ClockPhaseSecond, "\\_SB.PC00.XHCI.RHUB.VSPI",
                                        0x00, ResourceConsumer, , Exclusive,
                                        )
                                })
                                Return (XBUF) /* \_SB_.PC00.XHCI.RHUB.VSPI.SPIT._CRS.XBUF */
                            }
                        }
                    }
                }
            }
        }
    }

    Scope (_SB.PC00.RP01)
    {
        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
        {
            If (((P1WG != Zero) && (P1RN == One)))
            {
                Return (GPRW (GGPE (P1WG), 0x04))
            }
            Else
            {
                Return (GPRW (0xC0, 0x04))
            }
        }
    }

    Scope (_SB.PC00.RP02)
    {
        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
        {
            Return (GPRW (0xC0, 0x04))
        }
    }

    Scope (_SB.PC00.RP03)
    {
        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
        {
            If (((WLWK != Zero) && (WLRP == 0x03)))
            {
                Return (GPRW (GGPE (WLWK), 0x04))
            }
            Else
            {
                Return (GPRW (0xC0, 0x04))
            }
        }
    }

    Scope (_SB.PC00.RP04)
    {
        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
        {
            Return (GPRW (0xC0, 0x04))
        }
    }

    Scope (_SB.PC00.RP05)
    {
        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
        {
            If (((P2WG != Zero) && (P2RN == 0x05)))
            {
                Return (GPRW (GGPE (P2WG), 0x04))
            }
            Else
            {
                Return (GPRW (0xC1, 0x04))
            }
        }
    }

    Scope (_SB.PC00.RP06)
    {
        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
        {
            If (((P2WG != Zero) && (P2RN == 0x06)))
            {
                Return (GPRW (GGPE (P2WG), 0x04))
            }
            ElseIf (((P3WG != Zero) && (P3RN == 0x06)))
            {
                Return (GPRW (GGPE (P3WG), 0x04))
            }
            Else
            {
                Return (GPRW (0xC1, 0x04))
            }
        }
    }

    Scope (_SB.PC00.RP07)
    {
        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
        {
            If (((WWKP != Zero) && (WWRP == 0x07)))
            {
                Return (GPRW (GGPE (WWKP), 0x04))
            }
            Else
            {
                Return (GPRW (0xC1, 0x04))
            }
        }
    }

    Scope (_SB.PC00.RP08)
    {
        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
        {
            If (((WLWK != Zero) && (WLRP == 0x08)))
            {
                Return (GPRW (GGPE (WLWK), 0x04))
            }
            Else
            {
                Return (GPRW (0xC1, 0x04))
            }
        }
    }

    Scope (_SB.PC00.RP09)
    {
        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
        {
            If (((WWKP != Zero) && (WWRP == 0x09)))
            {
                Return (GPRW (GGPE (WWKP), 0x04))
            }
            ElseIf (((P3WG != Zero) && (P3RN == 0x09)))
            {
                Return (GPRW (GGPE (P3WG), 0x04))
            }
            Else
            {
                Return (GPRW (0xC2, 0x04))
            }
        }
    }

    Scope (_SB.PC00.RP10)
    {
        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
        {
            If (((P2WG != Zero) && (P2RN == 0x0A)))
            {
                Return (GPRW (GGPE (P2WG), 0x04))
            }
            ElseIf (((P5WG != Zero) && (P5RN == 0x0D)))
            {
                Return (GPRW (GGPE (P5WG), 0x04))
            }
            Else
            {
                Return (GPRW (0xC7, 0x04))
            }
        }
    }

    Scope (_SB.PC00.RP11)
    {
        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
        {
            If (((P3WG != Zero) && (P3RN == 0x0B)))
            {
                Return (GPRW (GGPE (P3WG), 0x04))
            }
            ElseIf (((P6WG != Zero) && (P6RN == 0x11)))
            {
                Return (GPRW (GGPE (P6WG), 0x04))
            }
            Else
            {
                Return (GPRW (0xC7, 0x04))
            }
        }
    }

    Scope (_SB.PC00.RP12)
    {
        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
        {
            If (((P3WG != Zero) && (P3RN == 0x15)))
            {
                Return (GPRW (GGPE (P3WG), 0x04))
            }
            ElseIf (((P4WG != Zero) && (P4RN == 0x15)))
            {
                Return (GPRW (GGPE (P4WG), 0x04))
            }
            ElseIf (((P4WG != Zero) && (P4RN == 0x0C)))
            {
                Return (GPRW (GGPE (P4WG), 0x04))
            }
            ElseIf (((P7WG != Zero) && (P7RN == 0x15)))
            {
                Return (GPRW (GGPE (P7WG), 0x04))
            }
            Else
            {
                Return (GPRW (0xC7, 0x04))
            }
        }
    }

    If ((PCHA == Zero))
    {
        Scope (_SB.PC00.SAT0)
        {
            Method (SATC, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("e4db149b-fcfe-425b-a6d8-92357d78fc7f") /* SATA Controller */))
                {
                    ADBG ("Win Sata DSM UUID : E4DB149B-FCFE-425b-A6D8-92357D78FC7F")
                    Return (One)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (SATD, 4, Serialized)
            {
                Switch (ToInteger (Arg2))
                {
                    Case (Zero)
                    {
                        ADBG ("Win Sata DSM fun 0")
                        Return (Buffer (One)
                        {
                             0x03                                             // .
                        })
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            If (((S0ID == One) && (PUIS == One)))
            {
                Scope (PRT0)
                {
                    Name (GTF0, Buffer (0x07)
                    {
                         0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         // .......
                    })
                    Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
                    {
                        CreateByteField (GTF0, Zero, FEAT)
                        CreateByteField (GTF0, 0x06, CMMD)
                        CreateWordField (Arg0, 0xA6, W083)
                        CreateWordField (Arg0, 0xAC, W086)
                        If ((SizeOf (Arg0) == 0x0200))
                        {
                            If (((W083 & 0x20) == 0x20))
                            {
                                If (((W086 & 0x20) == Zero))
                                {
                                    FEAT = 0x06
                                    CMMD = 0xEF
                                }
                            }
                        }
                    }

                    Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
                    {
                        Return (GTF0) /* \_SB_.PC00.SAT0.PRT0.GTF0 */
                    }
                }

                Scope (PRT1)
                {
                    Name (GTF0, Buffer (0x07)
                    {
                         0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         // .......
                    })
                    Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
                    {
                        CreateByteField (GTF0, Zero, FEAT)
                        CreateByteField (GTF0, 0x06, CMMD)
                        CreateWordField (Arg0, 0xA6, W083)
                        CreateWordField (Arg0, 0xAC, W086)
                        If ((SizeOf (Arg0) == 0x0200))
                        {
                            If (((W083 & 0x20) == 0x20))
                            {
                                If (((W086 & 0x20) == Zero))
                                {
                                    FEAT = 0x06
                                    CMMD = 0xEF
                                }
                            }
                        }
                    }

                    Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
                    {
                        Return (GTF0) /* \_SB_.PC00.SAT0.PRT1.GTF0 */
                    }
                }

                Scope (PRT2)
                {
                    Name (GTF0, Buffer (0x07)
                    {
                         0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         // .......
                    })
                    Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
                    {
                        CreateByteField (GTF0, Zero, FEAT)
                        CreateByteField (GTF0, 0x06, CMMD)
                        CreateWordField (Arg0, 0xA6, W083)
                        CreateWordField (Arg0, 0xAC, W086)
                        If ((SizeOf (Arg0) == 0x0200))
                        {
                            If (((W083 & 0x20) == 0x20))
                            {
                                If (((W086 & 0x20) == Zero))
                                {
                                    FEAT = 0x06
                                    CMMD = 0xEF
                                }
                            }
                        }
                    }

                    Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
                    {
                        Return (GTF0) /* \_SB_.PC00.SAT0.PRT2.GTF0 */
                    }
                }

                Scope (PRT3)
                {
                    Name (GTF0, Buffer (0x07)
                    {
                         0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         // .......
                    })
                    Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
                    {
                        CreateByteField (GTF0, Zero, FEAT)
                        CreateByteField (GTF0, 0x06, CMMD)
                        CreateWordField (Arg0, 0xA6, W083)
                        CreateWordField (Arg0, 0xAC, W086)
                        If ((SizeOf (Arg0) == 0x0200))
                        {
                            If (((W083 & 0x20) == 0x20))
                            {
                                If (((W086 & 0x20) == Zero))
                                {
                                    FEAT = 0x06
                                    CMMD = 0xEF
                                }
                            }
                        }
                    }

                    Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
                    {
                        Return (GTF0) /* \_SB_.PC00.SAT0.PRT3.GTF0 */
                    }
                }

                Scope (PRT4)
                {
                    Name (GTF0, Buffer (0x07)
                    {
                         0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         // .......
                    })
                    Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
                    {
                        CreateByteField (GTF0, Zero, FEAT)
                        CreateByteField (GTF0, 0x06, CMMD)
                        CreateWordField (Arg0, 0xA6, W083)
                        CreateWordField (Arg0, 0xAC, W086)
                        If ((SizeOf (Arg0) == 0x0200))
                        {
                            If (((W083 & 0x20) == 0x20))
                            {
                                If (((W086 & 0x20) == Zero))
                                {
                                    FEAT = 0x06
                                    CMMD = 0xEF
                                }
                            }
                        }
                    }

                    Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
                    {
                        Return (GTF0) /* \_SB_.PC00.SAT0.PRT4.GTF0 */
                    }
                }

                Scope (PRT5)
                {
                    Name (GTF0, Buffer (0x07)
                    {
                         0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         // .......
                    })
                    Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
                    {
                        CreateByteField (GTF0, Zero, FEAT)
                        CreateByteField (GTF0, 0x06, CMMD)
                        CreateWordField (Arg0, 0xA6, W083)
                        CreateWordField (Arg0, 0xAC, W086)
                        If ((SizeOf (Arg0) == 0x0200))
                        {
                            If (((W083 & 0x20) == 0x20))
                            {
                                If (((W086 & 0x20) == Zero))
                                {
                                    FEAT = 0x06
                                    CMMD = 0xEF
                                }
                            }
                        }
                    }

                    Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
                    {
                        Return (GTF0) /* \_SB_.PC00.SAT0.PRT5.GTF0 */
                    }
                }

                If (CondRefOf (PRT6))
                {
                    Scope (PRT6)
                    {
                        Name (GTF0, Buffer (0x07)
                        {
                             0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         // .......
                        })
                        Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
                        {
                            CreateByteField (GTF0, Zero, FEAT)
                            CreateByteField (GTF0, 0x06, CMMD)
                            CreateWordField (Arg0, 0xA6, W083)
                            CreateWordField (Arg0, 0xAC, W086)
                            If ((SizeOf (Arg0) == 0x0200))
                            {
                                If (((W083 & 0x20) == 0x20))
                                {
                                    If (((W086 & 0x20) == Zero))
                                    {
                                        FEAT = 0x06
                                        CMMD = 0xEF
                                    }
                                }
                            }
                        }

                        Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
                        {
                            Return (GTF0) /* \_SB_.PC00.SAT0.PRT6.GTF0 */
                        }
                    }
                }

                If (CondRefOf (PRT7))
                {
                    Scope (PRT7)
                    {
                        Name (GTF0, Buffer (0x07)
                        {
                             0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         // .......
                        })
                        Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
                        {
                            CreateByteField (GTF0, Zero, FEAT)
                            CreateByteField (GTF0, 0x06, CMMD)
                            CreateWordField (Arg0, 0xA6, W083)
                            CreateWordField (Arg0, 0xAC, W086)
                            If ((SizeOf (Arg0) == 0x0200))
                            {
                                If (((W083 & 0x20) == 0x20))
                                {
                                    If (((W086 & 0x20) == Zero))
                                    {
                                        FEAT = 0x06
                                        CMMD = 0xEF
                                    }
                                }
                            }
                        }

                        Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
                        {
                            Return (GTF0) /* \_SB_.PC00.SAT0.PRT7.GTF0 */
                        }
                    }
                }
            }
        }
    }

    If (((PFLV == One) || (PFLV == 0x06)))
    {
        If ((WFFD == One))
        {
            Scope (_SB)
            {
                Method (WFRT, 3, Serialized)
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN Flash Reset Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        Local0 = One
                        If ((WWRP == One))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC00.RP01.PXSX.FHRF))
                            {
                                ^PC00.RP01.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC00.RP01.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC00.RP01.PXSX.SHRF))
                            {
                                ^PC00.RP01.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC00.RP01.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC00.RP01.PXSX.DOSV))
                            {
                                ^PC00.RP01.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x02))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC00.RP02.PXSX.FHRF))
                            {
                                ^PC00.RP02.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC00.RP02.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC00.RP02.PXSX.SHRF))
                            {
                                ^PC00.RP02.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC00.RP02.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC00.RP02.PXSX.DOSV))
                            {
                                ^PC00.RP02.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x03))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC00.RP03.PXSX.FHRF))
                            {
                                ^PC00.RP03.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC00.RP03.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC00.RP03.PXSX.SHRF))
                            {
                                ^PC00.RP03.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC00.RP03.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC00.RP03.PXSX.DOSV))
                            {
                                ^PC00.RP03.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x04))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC00.RP04.PXSX.FHRF))
                            {
                                ^PC00.RP04.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC00.RP04.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC00.RP04.PXSX.SHRF))
                            {
                                ^PC00.RP04.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC00.RP04.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC00.RP04.PXSX.DOSV))
                            {
                                ^PC00.RP04.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x05))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC00.RP05.PXSX.FHRF))
                            {
                                ^PC00.RP05.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC00.RP05.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC00.RP05.PXSX.SHRF))
                            {
                                ^PC00.RP05.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC00.RP05.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC00.RP05.PXSX.DOSV))
                            {
                                ^PC00.RP05.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x06))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC00.RP06.PXSX.FHRF))
                            {
                                ^PC00.RP06.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC00.RP06.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC00.RP06.PXSX.SHRF))
                            {
                                ^PC00.RP06.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC00.RP06.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC00.RP06.PXSX.DOSV))
                            {
                                ^PC00.RP06.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x07))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC00.RP07.PXSX.FHRF))
                            {
                                ^PC00.RP07.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC00.RP07.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC00.RP07.PXSX.SHRF))
                            {
                                ^PC00.RP07.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC00.RP07.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC00.RP07.PXSX.DOSV))
                            {
                                ^PC00.RP07.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x08))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC00.RP08.PXSX.FHRF))
                            {
                                ^PC00.RP08.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC00.RP08.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC00.RP08.PXSX.SHRF))
                            {
                                ^PC00.RP08.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC00.RP08.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC00.RP08.PXSX.DOSV))
                            {
                                ^PC00.RP08.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x09))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC00.RP09.PXSX.FHRF))
                            {
                                ^PC00.RP09.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC00.RP09.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC00.RP09.PXSX.SHRF))
                            {
                                ^PC00.RP09.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC00.RP09.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC00.RP09.PXSX.DOSV))
                            {
                                ^PC00.RP09.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x0A))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC00.RP10.PXSX.FHRF))
                            {
                                ^PC00.RP10.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC00.RP10.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC00.RP10.PXSX.SHRF))
                            {
                                ^PC00.RP10.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC00.RP10.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC00.RP10.PXSX.DOSV))
                            {
                                ^PC00.RP10.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x0B))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC00.RP11.PXSX.FHRF))
                            {
                                ^PC00.RP11.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC00.RP11.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC00.RP11.PXSX.SHRF))
                            {
                                ^PC00.RP11.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC00.RP11.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC00.RP11.PXSX.DOSV))
                            {
                                ^PC00.RP11.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x0C))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC00.RP12.PXSX.FHRF))
                            {
                                ^PC00.RP12.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC00.RP12.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC00.RP12.PXSX.SHRF))
                            {
                                ^PC00.RP12.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC00.RP12.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC00.RP12.PXSX.DOSV))
                            {
                                ^PC00.RP12.PXSX.DOSV ()
                            }
                        }

                        If ((Local0 == One))
                        {
                            Release (WWMT)
                        }
                    }
                }

                Device (MFFD)
                {
                    Name (_HID, "INTC1073")  // _HID: Hardware ID
                    Name (_STR, Unicode ("Modem Firmware Flash Device"))  // _STR: Description String
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((WFFD == One))
                        {
                            Return (0x0F)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If ((Arg0 == ToUUID ("0f3d57aa-6046-47b2-8a9a-88f1021d3865") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x07                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ADBG ("MFFD FLDR")
                                WFRT (Zero, DerefOf (Arg3 [Zero]), DerefOf (Arg3 [One]))
                                Return (Buffer (One)
                                {
                                     0x00                                             // .
                                })
                            }

                            If ((Arg2 == 0x02))
                            {
                                ADBG ("MFFD PLDR")
                                WFRT (One, DerefOf (Arg3 [Zero]), DerefOf (Arg3 [One]))
                                Return (Buffer (One)
                                {
                                     0x00                                             // .
                                })
                            }

                            Return (Zero)
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }
                }
            }
        }
    }

    Name (_S0, Package (0x04)  // _S0_: S0 System State
    {
        Zero, 
        Zero, 
        Zero, 
        Zero
    })
    If (SS1)
    {
        Name (_S1, Package (0x04)  // _S1_: S1 System State
        {
            One, 
            Zero, 
            Zero, 
            Zero
        })
    }

    If (SS3)
    {
        Name (_S3, Package (0x04)  // _S3_: S3 System State
        {
            0x05, 
            Zero, 
            Zero, 
            Zero
        })
    }

    If (SS4)
    {
        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)
    {
        If (Arg0){}
    }

    Method (WAK, 1, NotSerialized)
    {
    }

    If (CondRefOf (\_SB.PC00.XDCI))
    {
        Scope (_SB.PC00.XDCI)
        {
            Method (XDAT, 0, Serialized)
            {
                If (CondRefOf (\_SB.PC00.LPCB.H_EC.XDAT))
                {
                    Return (^^LPCB.H_EC.XDAT ())
                }

                Return (Zero)
            }
        }
    }
}

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux