Search

US-12625969-B2 - Hardware-based control of peripheral devices

US12625969B2US 12625969 B2US12625969 B2US 12625969B2US-12625969-B2

Abstract

Implementations of systems and methods for controlling one or more peripherals of a computing device. The systems and methods may include determining whether a requested change to a secure register is authorized, adjusting a value stored in the secure register in response to determining that the requested change to the secure register is authorized. The systems and methods may include determining, at the one or more peripherals, one or more parameters of the one or more peripherals based on the value stored in the secure register and controlling a functionality of the one or more peripherals based on the one or more parameters or the value stored in the secure register.

Inventors

  • Arun Kumar NEELAKANTAM
  • Piyush Pradeep JAIN

Assignees

  • QUALCOMM INCORPORATED

Dates

Publication Date
20260512
Application Date
20240708

Claims (20)

  1. 1 . A method for controlling one or more peripherals of a computing device, comprising: determining whether a requested change to a secure register is authorized; adjusting a value stored in the secure register in response to determining that the requested change to the secure register is authorized; determining, at the one or more peripherals, that the value stored in the secure register corresponds to one or more parameters of the one or more peripherals; and controlling a functionality of the one or more peripherals based on the one or more parameters or the value stored in the secure register.
  2. 2 . The method of claim 1 , wherein controlling the functionality of the one or more peripherals includes enabling or disabling the one or more peripherals.
  3. 3 . The method of claim 2 , further comprising verifying, at a startup of the computing device or the one or more peripherals, whether a peripheral is enabled or disabled based on the secure register.
  4. 4 . The method of claim 1 , further comprising: adjusting a configuration value stored in one or more configuration registers in response to determining that the requested change to the one or more configuration registers is authorized; and adjusting a functionality of the one or more peripherals based on the configuration value stored in the one or more configuration registers.
  5. 5 . The method of claim 1 , wherein: determining whether the requested change to the secure register is authorized is performed by an extensible protection unit that controls access to the secure register; and access to the secure register is controlled for multiple entities including at least one of: users, applications, original equipment manufacturers (OEMs), or other clients of the computing device.
  6. 6 . The method of claim 5 , wherein access to the secure register is controlled for the multiple entities based on a shared mask value stored in an access register, in which each entity or group of entities is assigned a position or value in the shared mask.
  7. 7 . The method of claim 5 , wherein access control by the extensible protection unit controls whether an entity of the multiple entities is permitted to modify settings of the one or more peripherals via additional registers.
  8. 8 . The method of claim 1 , wherein the secure register is disposed on one of the one or more peripherals.
  9. 9 . The method of claim 1 , wherein the secure register is disposed outside the one or more peripherals and on the computing device.
  10. 10 . A computing device, comprising: one or more peripheral components; two or more secure registers including: a peripheral control register configured to: store a control value; and control a first functionality of the one or more peripheral components based on the control value, a configuration register configured to: store a configuration value; and control a second functionality of the one or more peripheral components based on the configuration value, an extensible protection unit (XPU) configured to: determine whether a requested change to one of the two or more secure registers is authorized; and adjust the control value or the configuration value in response to determining that the requested change to one of the two or more secure registers is authorized.
  11. 11 . The computing device of claim 10 , wherein the peripheral control register is further configured to control the first functionality of the one or more peripheral components by enabling or disabling the one or more peripheral components.
  12. 12 . The computing device of claim 10 , wherein the XPU is further configured to: verify, at a startup of the computing device or the one or more peripheral components, whether a peripheral component is enabled or disabled based on the peripheral control register.
  13. 13 . The computing device of claim 10 , wherein the XPU is further configured to: adjust the configuration value stored in the configuration register in response to determining that the requested change to the one or more configuration register is authorized.
  14. 14 . The computing device of claim 10 , wherein the XPU is further configured to: control access to one of the two or more secure registers as part of determining whether the requested change to one of the two or more secure registers is authorized; and control access to the two or more secure registers for multiple entities including at least one of: users, applications, original equipment manufacturers (OEMs), or other clients of the computing device.
  15. 15 . The computing device of claim 14 , wherein the XPU is further configured to control access to the two or more secure registers for the multiple entities based on a shared mask value stored in an access register, in which each entity or group of entities is assigned a position or value in the shared mask.
  16. 16 . The computing device of claim 14 , wherein access control by the XPU controls whether an entity of the multiple entities is permitted to modify settings of the one or more peripheral components via additional registers.
  17. 17 . The computing device of claim 10 , wherein the configuration register is disposed on one of the one or more peripheral components.
  18. 18 . The computing device of claim 10 , wherein the configuration register is disposed outside the one or more peripheral components and on the computing device.
  19. 19 . A non-transitory processor-readable medium having stored thereon processor-executable instructions configured to cause a processor of a computing device including one or more peripheral components to perform operations comprising: determining whether a requested change to a secure register is authorized; adjusting a value stored in the secure register in response to determining that the requested change to the secure register is authorized; determining, at the one or more peripheral components, that the value stored in the secure register corresponds to one or more parameters of the one or more peripheral components; and controlling a functionality of the one or more peripheral components based on the one or more parameters or the value stored in the secure register.
  20. 20 . The non-transitory processor-readable medium of claim 19 , wherein the stored processor-executable instructions are configured to cause the processor of the computing device to perform operations further comprising: adjusting a configuration value stored in one or more configuration registers in response to determining that the requested change to the one or more configuration registers is authorized; and adjusting a functionality of the one or more components based on the configuration value stored in the one or more configuration registers.

Description

BACKGROUND Extended reality is a growing technology and entertainment field that presents an alternate or overlay to reality via a user interface. Extended reality (XR) devices present several security and privacy concerns. These devices often rely on continuous data collection through cameras and microphones, which can lead to unauthorized recording and surveillance. The potential risks from hacking is significant, as malicious actors could gain access to personal data, live feeds, or even control the device, leading to privacy breaches. Additionally, the integration of XR and smart glasses with various apps and services may result in data sharing without user consent, exposing sensitive information. SUMMARY Various aspects include systems and methods for controlling one or more peripherals of a computing device, such as an extended reality (XR) device. Various aspect may include determining whether a requested change to a secure register is authorized, adjusting a value stored in the secure register in response to determining that the requested change to the secure register is authorized, determining, at the one or more peripherals, one or more parameters of the one or more peripherals based on the value stored in the secure register, and controlling a functionality of the one or more peripherals based on the one or more parameters or the value stored in the secure register. In some aspects, controlling the functionality of the one or more peripherals may include enabling or disabling the one or more peripherals. Such aspects may further include verifying, at a startup of the computing device or the one or more peripherals, whether a peripheral is enabled or disabled based on the secure register. In some aspects, the secure register may be disposed on one of the one or more peripherals. In some aspects, the secure register(s) may be disposed outside the one or more peripherals and on the computing device. Some aspects may further include adjusting a configuration value stored in one or more configuration registers in response to determining that the requested change to the one or more configuration registers is authorized, and adjusting a functionality of the one or more peripherals based on the configuration value stored in one or more configuration registers. In some aspects, the secure registers may include configuration registers and peripheral control registers. In some aspects, the functionality may include at least one of a display mode, a resolution, a frames per second, as single core mode, multi-core mode, direct memory access enabled/disabled, one or more clock speeds, resolution capture size, compression rates and access to other post-processing hardware blocks, or scan rates. In some aspects, determining whether the requested change to a secure register is authorized may be performed by an extensible protection unit that controls access to the secure registers, and where access to the secure registers may be controlled for multiple entities including at least one of: users, applications, original equipment manufacturers, or other clients of the computing device. In some aspects, access to the secure registers may be controlled for the multiple entities based on a shared mask value stored in an access register, in which each entity or group of entities is assigned a position or value in the shared mask. In some aspects, access control by the extensible protection unit may control whether an entity of the multiple entities is permitted to modify settings of the one or more peripherals via additional registers. Further aspects include an XR device having a processor configured to perform one or more operations of any of the methods summarized above. Further aspects include processing devices for use in a user device configured with processor-executable instructions to perform operations of any of the methods summarized above. Further aspects include a non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a user device to perform operations of any of the methods summarized above. Further aspects include a user device having means for performing functions of any of the methods summarized above. Further aspects include a system on chip for use in a user device and that includes a processor configured to perform one or more operations of any of the methods summarized above. BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are incorporated herein and constitute part of this specification, illustrate example embodiments of various embodiments, and together with the general description given above and the detailed description given below, serve to explain the features of the claims. FIG. 1A is a system diagram illustrating an example system suitable for implementing various embodiments. FIG. 1B is a system diagram illustrating an example system architecture suitable for implementing various embodimen