1 // Copyright 2017 The Fuchsia Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #pragma once
6 
7 #include <acpica/acpi.h>
8 #include <ddk/device.h>
9 #include <zircon/compiler.h>
10 
11 #define BATTERY_HID_STRING         "PNP0C0A"
12 #define EC_HID_STRING              "PNP0C09"
13 #define PWRSRC_HID_STRING          "ACPI0003"
14 #define GOOGLE_CROS_EC_HID_STRING  "GOOG0004"
15 #define GOOGLE_TPM_HID_STRING      "GOOG0005"
16 #define GOOGLE_TBMC_HID_STRING     "GOOG0006"
17 #define DPTF_THERMAL_HID_STRING    "INT3403"
18 #define GPE_HID_STRING             "ACPI0006"
19 #define I8042_HID_STRING           "PNP0303"
20 #define RTC_HID_STRING             "PNP0B00"
21 #define I2C_HID_CID_STRING         "PNP0C50"
22 #define GPE_CID_STRING             "ACPI0006"
23 
24 #define HID_LENGTH 8
25 #define CID_LENGTH 8
26 
27 __BEGIN_CDECLS
28 
29 zx_status_t battery_init(zx_device_t* parent, ACPI_HANDLE acpi_handle);
30 zx_status_t ec_init(zx_device_t* parent, ACPI_HANDLE acpi_handle);
31 zx_status_t pwrbtn_init(zx_device_t* parent);
32 zx_status_t pwrsrc_init(zx_device_t* parent, ACPI_HANDLE acpi_handle);
33 zx_status_t tbmc_init(zx_device_t* parent, ACPI_HANDLE acpi_handle);
34 zx_status_t cros_ec_lpc_init(zx_device_t* parent, ACPI_HANDLE acpi_handle);
35 zx_status_t thermal_init(zx_device_t* parent, ACPI_DEVICE_INFO* info, ACPI_HANDLE acpi_handle);
36 
37 __END_CDECLS
38