Edit

NFC power states

The NFC class extension driver serves as the power policy owner for the device, so it calls WdfDeviceInitSetPowerPolicyOwnership(TRUE) during its device initialization routine.

The NFC CX driver supports device power states D0 and D3. The state diagram below shows the transition between the two power states. The device on idle is in the D3 power state where the NFCC does not have power. When radio mode is active and any modules such as NFP (active publications or subscriptions from NFP DDI), SE (active secure elements in emulation mode from NFCSE DDI) or SmartCard is active, the state transitions to D0. During this transition, the polling state of the device is updated to meet the requirement of all active modules.

power states.

Furthermore, the built-in idle detection logic of UMDF is used to power manager the device. During initialization, the WdfDevice is assigned its S0 Idle settings as follows:

WdfDeviceAssignS0IdleSettings(
    IdleCannotWakeFromS0,
    PowerDeviceD3,
    IdleTimeout,
    IdleAllowUserControl,
    WdfUseDefault
);

The IdleTimeout defaults to 1 second. You can configure this setting through the PowerIdleTimeout parameter in NFC_CX_CLIENT_CONFIG. The following state diagram illustrates the various power transitions that the use of the WDF idle detection method implies.

The client driver can choose to be the power policy owner of the stack through the IsPowerPolicyOwner member of the NFC_CX_CLIENT_CONFIG structure. This option might be useful for transports such as USB where you must configure additional device power states.

power management operations.