Camera power management for modern standby platforms

The cameras in modern mobile platforms allow users to capture still and motion video of their surroundings, and to use video and audio to communicate with other users over the Internet. The general goal of power management for a camera device can be described simply—the camera subsystem must be powered off, consuming zero watts, unless the camera is in active use.

When the camera is actively being used to stream video to an application, the camera sensor and related components should be powered on. Windows enables the camera hardware to be turned off during modern standby by suspending any foreground Microsoft Store apps that might be streaming data from the camera device. Windows makes no provisions for the use of camera devices while the system is in modern standby, so a camera device can be used only when the display is turned on.

Camera subsystem

In terms of power management, cameras are one of the most complex device subsystems in a mobile platform. This complexity is a result of the tight coordination required between the digital and image signal processing units, which are integrated into the System on a Chip (SoC), and the camera sensor, auto-focus, and flash components, which are external to the SoC chip.

In the following discussion, the term on-SoCcomponent describes a component that is integrated into the SoC chip. An off-SoC component is external to the SoC chip.

Camera subsystem design becomes even more complex if the on-SoC image processing hardware must be multiplexed between two or more camera subsystems.

Tablet PCs are expected to have both a front-facing and a rear-facing camera, and these cameras share the same on-SoC image processing hardware. Hardware sharing implies multiplexing at both hardware and software layers. Because of this complexity, the system integrator should work closely with the SoC silicon vendor to integrate the cameras into the platform and implement camera device power management.

When the system is in modern standby (display off), the camera sensor, camera processing unit, optional auto-focuser, and flash components must have their power removed and consume zero watts. For the camera components on the SoC, the SoC vendor must provide a driver that manages the image processing components. The image processing driver coordinates power management of the on-SoC components with the power engine plug-in (PEP).

For the off-SoC camera components, which include the sensor, auto-focuser, and flash, the system integrator must provide power rail switching capability and associated GPIO control signaling, which are controlled by the ACPI firmware.

The system integrator must also provide one or more device drivers to directly manage the sensor, auto-focuser, and flash hardware. Due to camera subsystem complexity and the dependencies between the on-SoC and off-SoC components, the camera sensor and flash drivers are typically provided by the SoC vendor. The system integrator must also provide a camera controller driver, which is a kernel-mode AVStream minidriver. The camera controller driver is responsible for exposing the camera devices to the Windows multimedia subsystem. However, we recommend that this driver not directly control any platform hardware due to complexities in the AVStream minidriver model. Instead, we recommend that the camera controller driver should rely on the other camera component drivers for access to hardware resources and device power management. That is, the camera controller driver should communicate with the driver that controls the on-SoC image processing hardware and the driver or drivers that control the off-SoC sensor and flash units.

In this section

Topic Description

Camera hardware

Provides an overview of camera hardware topology. Windows supports a single hardware power management configuration for camera devices in modern standby platforms. In short, each camera sensor must be connected to the SoC via a MIPI-CSI link, and can optionally be connected to an I2C bus and to one or more GPIO pins. The camera sensor device, its optional flash, and any other off-SoC camera components must be placed on a power rail that can be switched on and off by ACPI firmware.

Camera power management

Describes the power management modes that must be supported in the off-System on a Chip (SoC) and on-SoC components of the camera subsystem. Both the on-SoC image processing units and the off-SoC camera components are expected to consume no power (zero watts) when the system is in connected standby and the display is turned off. The primary software mechanism for power management is reference counting of the camera capture pin. Includes a checklist that system integrators, camera sensor vendors, and SoC vendors should use to ensure that their system power management design is compatible with Windows 10.