summaryrefslogtreecommitdiff
path: root/usb/UcmUcsiAcpiSample
diff options
context:
space:
mode:
authorBarry Golden <[email protected]>2019-09-30 10:40:48 -0700
committerGitHub <[email protected]>2019-09-30 10:40:48 -0700
commit85e09b9be0b4359d46d3fdf196b4a39e74060920 (patch)
treec0d6a9f68787fa8b2d991fe7ee91507e12547339 /usb/UcmUcsiAcpiSample
parentf7eb738097908a1e32ca2a07a605bba0e85ccb95 (diff)
Diffstat (limited to 'usb/UcmUcsiAcpiSample')
-rw-r--r--usb/UcmUcsiAcpiSample/README.md11
1 files changed, 11 insertions, 0 deletions
diff --git a/usb/UcmUcsiAcpiSample/README.md b/usb/UcmUcsiAcpiSample/README.md
index 9def12cd..e30e1638 100644
--- a/usb/UcmUcsiAcpiSample/README.md
+++ b/usb/UcmUcsiAcpiSample/README.md
@@ -19,8 +19,11 @@ Microsoft already provides an inbox UCSI Class extension (UcmUcsiCx.sys) and ACP
This sample demonstrates the following:
- Preparing connector collection with UcmUcsiCx
+
- Initializing Platform Policy Manager (or PPM) object with UcmUcsiCx
+
- Handling IOCTLs from UcmUcsiCx to send or get UCSI block
+
- Delivering PPM notifications to UcmUcsiCx
## Customizing the sample for your UCSI transport
@@ -36,8 +39,11 @@ In this sample, UCMUCSI-specific interactions are split apart from most of the U
The following files contain methods that interface with UcmUcsiCx.
- Ppm.cpp
+
- Contains bulk of interactions with UcmUcsiCx. Ppm::CreateAndInitialize which is called in the context of PrepareHardware PnP callback, creates connector collection with UcmUcsiCx by calling DDI UcmUcsiConnectorCollectionCreate and UcmUcsiConnectorCollectionAddConnector. The collection serves as a parameter to initialize PPM object with the class extension when the DDI UcmUcsiPpmCreate is called. Ppm::PpmNotificationCallback function calls DDI on the event of a PPM notification. Ppm::EvtIoDeviceControl contains the logic of handling IOCTLs from UcmUcsiCx.
+
- Fdo.cpp
+
- FDO callbacks, functions, and types, most of which do not interface with UcmUcsiCx. However, the method Fdo::CreateAndInitialize calls to UcmUcsiCx DDIs UcmUcsiDeviceInitInitialize and UcmUcsiDeviceInitialize.
#### UCSI and WDF Interactions
@@ -45,10 +51,15 @@ The following files contain methods that interface with UcmUcsiCx.
The remainder of the files perform operations for UCSI and WDF, non-specific to UCM.
- Acpi.cpp
+
- ACPI method evaluation helper routines.
+
- Driver.cpp
+
- Entry point to the driver. Initializes the driver with WDF.
+
- Ppm.cpp
+
- Type-C Platform Policy Manager. Main interface to talk to the UCSI-compliant hardware (via ACPI transport in this case).
## When to write a UcmUcsiCx client driver