diff --git a/contexthub/1.0/IContexthub.hal b/contexthub/1.0/IContexthub.hal index 1d136d32b1..42f2e2d8f6 100644 --- a/contexthub/1.0/IContexthub.hal +++ b/contexthub/1.0/IContexthub.hal @@ -18,6 +18,13 @@ package android.hardware.contexthub@1.0; import IContexthubCallback; +/* + * The Context Hub HAL provides an interface to a separate low-power processing + * domain that has direct access to contextual information, such as sensors. + * Native applications that run within a context hub are known as nanoapps, and + * they execute within the Context Hub Runtime Environment (CHRE), which is + * standardized via the CHRE API, defined elsewhere. + */ interface IContexthub { /* * Enumerate all available context hubs on the system. diff --git a/contexthub/1.0/types.hal b/contexthub/1.0/types.hal index d7e567360c..2326b58f65 100644 --- a/contexthub/1.0/types.hal +++ b/contexthub/1.0/types.hal @@ -128,6 +128,22 @@ struct ContextHub { uint32_t maxSupportedMsgLen;// This is the maximum size of the message that can // be sent to the hub in one chunk (in bytes) + + // Machine-readable CHRE platform ID, returned to nanoapps in the CHRE API + // function call chreGetPlatformId(). The most significant 5 bytes of this + // value identify the vendor, while the remaining bytes are set by the + // vendor to uniquely identify each different CHRE implementation/hardware + // that the vendor supplies. This field pairs with the patch version part of + // chreVersion to fully specify the CHRE implementation version. See also + // the CHRE API header file chre/version.h. + uint64_t chrePlatformId; + + // CHRE implementation version, returned to nanoApps in the CHRE API + // function call chreGetVersion(). This value consists of the implemented + // CHRE API version (major version in most significant byte, followed by + // minor version), and the platform-specific implementation patch version + // in the lower two bytes. See also the CHRE API header file chre/version.h. + uint32_t chreVersion; }; struct ContextHubMsg {