diff options
Diffstat (limited to 'include/acpi.h')
-rw-r--r-- | include/acpi.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/include/acpi.h b/include/acpi.h index 0ffc8d9f10..b966934d93 100644 --- a/include/acpi.h +++ b/include/acpi.h @@ -20,4 +20,58 @@ */ int acpi_ap_to_ec(int is_cmd, uint8_t value, uint8_t *result); +enum acpi_dptf_profile_num { + /* + * Value of 0 is reserved meaning the Device DPTF Profile Number in EC + * shared memory is invalid and host should fallback to using tablet + * mode switch to determine the DPTF table to load. + */ + DPTF_PROFILE_INVALID = 0, + +#ifdef CONFIG_DPTF_MULTI_PROFILE + /* + * Set default profile value to 2 under the assumption that profile + * value of 1 means default high-power mode and value of 2 corresponds + * to a low-power mode. This value is used by ACPI routines to report + * back to host until appropriate EC driver updates the current profile + * number. + */ + DPTF_PROFILE_DEFAULT = 2, +#else + /* Default DPTF profile when multi-profile is not supported. */ + DPTF_PROFILE_DEFAULT = 1, +#endif + + /* Range of valid values for DPTF profile number. */ + DPTF_PROFILE_VALID_FIRST = 1, + DPTF_PROFILE_VALID_LAST = 7, + + /* Standard convertible profiles */ + DPTF_PROFILE_CLAMSHELL = 1, + DPTF_PROFILE_FLIPPED_360_MODE = 2, + + /* Standard detachable profiles */ + DPTF_PROFILE_BASE_ATTACHED = 1, + DPTF_PROFILE_BASE_DETACHED = 2, +}; + +/** + * Set current DPTF profile in EC shared memory. + * + * @param prof_num Profile number of current profile. Valid values are 1-7. + * See enum acpi_dptf_profile_num for standard profile + * numbers for convertibles/detachables. + * @return EC_SUCCESS if operation was successful, EC_ERROR* in + * case of error. + */ +int acpi_dptf_set_profile_num(int n); + +/** + * Get value of current DPTF profile. + * + * @return DPTF Profile number currently set to be shared with the + * host using EC shared memory. + */ +int acpi_dptf_get_profile_num(void); + #endif /* __CROS_EC_ACPI_H */ |