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
29zx_status_t battery_init(zx_device_t* parent, ACPI_HANDLE acpi_handle);
30zx_status_t ec_init(zx_device_t* parent, ACPI_HANDLE acpi_handle);
31zx_status_t pwrbtn_init(zx_device_t* parent);
32zx_status_t pwrsrc_init(zx_device_t* parent, ACPI_HANDLE acpi_handle);
33zx_status_t tbmc_init(zx_device_t* parent, ACPI_HANDLE acpi_handle);
34zx_status_t cros_ec_lpc_init(zx_device_t* parent, ACPI_HANDLE acpi_handle);
35zx_status_t thermal_init(zx_device_t* parent, ACPI_DEVICE_INFO* info, ACPI_HANDLE acpi_handle);
36
37__END_CDECLS
38