summaryrefslogtreecommitdiff
path: root/sys/dev/acpi/acpidev.h
diff options
context:
space:
mode:
authorMarco Peereboom <marco@cvs.openbsd.org>2005-12-16 04:20:40 +0000
committerMarco Peereboom <marco@cvs.openbsd.org>2005-12-16 04:20:40 +0000
commit749c35ae915a60ce9935f88ce8fba65dd1234e02 (patch)
tree74776fc4481a23ad3f0dfe873787f1260b3c1657 /sys/dev/acpi/acpidev.h
parent33bace1b4c6ef71e227efaf36b28ac88a040342e (diff)
Add new unified header file for devices. Suggested deraadt@
Diffstat (limited to 'sys/dev/acpi/acpidev.h')
-rw-r--r--sys/dev/acpi/acpidev.h190
1 files changed, 190 insertions, 0 deletions
diff --git a/sys/dev/acpi/acpidev.h b/sys/dev/acpi/acpidev.h
new file mode 100644
index 00000000000..c7b9265b412
--- /dev/null
+++ b/sys/dev/acpi/acpidev.h
@@ -0,0 +1,190 @@
+/* $OpenBSD: acpidev.h,v 1.1 2005/12/16 04:20:39 marco Exp $ */
+/*
+ * Copyright (c) 2005 Marco Peereboom <marco@openbsd.org>
+ * Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef __DEV_ACPI_ACPIDEV_H__
+#define __DEV_ACPI_ACPIDEV_H__
+
+/*
+ * _BIF (Battery InFormation)
+ * Arguments: none
+ * Results : package _BIF (Battery InFormation)
+ * Package {
+ * // ASCIIZ is ASCII character string terminated with a 0x00.
+ * Power Unit //DWORD
+ * Design Capacity //DWORD
+ * Last Full Charge Capacity //DWORD
+ * Battery Technology //DWORD
+ * Design Voltage //DWORD
+ * Design Capacity of Warning //DWORD
+ * Design Capacity of Low //DWORD
+ * Battery Capacity Granularity 1 //DWORD
+ * Battery Capacity Granularity 2 //DWORD
+ * Model Number //ASCIIZ
+ * Serial Number //ASCIIZ
+ * Battery Type //ASCIIZ
+ * OEM Information //ASCIIZ
+ * }
+ */
+struct acpibat_bif {
+ u_int32_t bif_power_unit;
+#define BIF_POWER_MW 0x00
+#define BIF_POWER_MA 0x01
+ u_int32_t bif_capacity;
+#define BIF_UNKNOWN 0xffffffff
+ u_int32_t bif_last_capacity;
+ u_int32_t bif_technology;
+#define BIF_TECH_PRIMARY 0x00
+#define BIF_TECH_SECONDARY 0x01
+ u_int32_t bif_voltage;
+ u_int32_t bif_warning;
+ u_int32_t bif_low;
+ u_int32_t bif_cap_granu1;
+ u_int32_t bif_cap_granu2;
+ char bif_data[]; /* 4 strings */
+};
+
+/*
+ * _OSC Definition for Control Method Battery
+ * Arguments: none
+ * Results : DWORD flags
+ */
+#define CMB_OSC_UUID "f18fc78b-0f15-4978-b793-53f833a1d35b"
+#define CMB_OSC_GRANULARITY 0x01
+#define CMB_OSC_WAKE_ON_LOW 0x02
+
+/*
+ * _BST (Battery STatus)
+ * Arguments: none
+ * Results : package _BST (Battery STatus)
+ * Package {
+ * Battery State //DWORD
+ * Battery Present Rate //DWORD
+ * Battery Remaining Capacity //DWORD
+ * Battery Present Voltage //DWORD
+ * }
+ *
+ * Per the spec section 10.2.2.3
+ * Remaining Battery Percentage[%] = (Battery Remaining Capacity [=0 ~ 100] /
+ * Last Full Charged Capacity[=100]) * 100
+ *
+ * Remaining Battery Life [h] = Battery Remaining Capacity [mAh/mWh] /
+ * Battery Present Rate [=0xFFFFFFFF] = unknown
+ */
+struct acpibat_bst {
+ u_int32_t bst_state;
+#define BST_DISCHARGE 0x01
+#define BST_CHARGE 0x02
+#define BST_CRITICAL 0x04
+ u_int32_t bst_rate;
+#define BST_UNKNOWN 0xffffffff
+ u_int32_t bst_capacity;
+ u_int32_t bst_voltage;
+};
+
+/*
+ * _BTP (Battery Trip Point)
+ * Arguments: DWORD level
+ * Results : none
+ */
+#define BTP_CLEAR_TRIP_POINT 0x00
+
+/*
+ * _BTM (Battery TiMe)
+ * Arguments: DWORD rate of discharge
+ * Results : DWORD time in seconds or error/unknown
+ */
+#define BTM_CURRENT_RATE 0x00
+
+#define BTM_RATE_TOO_LARGE 0x00
+#define BTM_CRITICAL 0x00
+#define BTM_UNKNOWN 0xffffffff
+
+/*
+ * _BMD (Battery Maintenance Data)
+ * Arguments: none
+ * Results : package _BMD (Battery Maintenance Data)
+ * Package {
+ * Status Flags //DWORD
+ * Capability Flags //DWORD
+ * Recalibrate Count //DWORD
+ * Quick Recalibrate Time //DWORD
+ * Slow Recalibrate Time //DWORD
+ * }
+ */
+struct acpibat_bmd {
+ u_int32_t bmd_status;
+#define BMD_AML_CALIBRATE_CYCLE 0x01
+#define BMD_CHARGING_DISABLED 0x02
+#define BMD_DISCHARGE_WHILE_AC 0x04
+#define BMD_RECALIBRATE_BAT 0x08
+#define BMD_GOTO_STANDBY_SPEED 0x10
+ u_int32_t bmd_capability;
+#define BMD_CB_AML_CALIBRATION 0x01
+#define BMD_CB_DISABLE_CHARGER 0x02
+#define BMD_CB_DISCH_WHILE_AC 0x04
+#define BMD_CB_AFFECT_ALL_BATT 0x08
+#define BMD_CB_FULL_CHRG_FIRST 0x10
+ u_int32_t bmd_recalibrate_count;
+#define BMD_ONLY_CALIB_IF_ST3 0x00 /* only recal when status bit 3 set */
+ u_int32_t bmd_quick_recalibrate_time;
+#define BMD_UNKNOWN 0xffffffff
+ u_int32_t bmd_slow_recalibrate_time;
+};
+
+/*
+ * _BMC (Battery Maintenance Control)
+ * Arguments: DWORD flags
+ * Results : none
+ */
+#define BMC_AML_CALIBRATE 0x01
+#define BMC_DISABLE_CHARGING 0x02
+#define BMC_ALLOW_AC_DISCHARGE 0x04
+
+/* AC device */
+/*
+ * _PSR (Power Source)
+ * Arguments: none
+ * Results : DWORD status
+ */
+#define PSR_ONLINE 0x00
+#define PSR_OFFLINE 0x01
+
+/*
+ * _PCL (Power Consumer List)
+ * Arguments: none
+ * Results : LIST of Power Class pointers
+ */
+
+/* hpte device */
+#define HPET_REG_SIZE 1024
+
+#define HPET_CAPABILITIES 0x000
+#define HPET_CONFIGURATION 0x010
+#define HPET_INTERRUPT_STATUS 0x020
+#define HPET_MAIN_COUNTER 0x0F0
+#define HPET_TIMER0_CONFIG 0x100
+#define HPET_TIMER0_COMPARE 0x108
+#define HPET_TIMER0_INTERRUPT 0x110
+#define HPET_TIMER1_CONFIG 0x200
+#define HPET_TIMER1_COMPARE 0x208
+#define HPET_TIMER1_INTERRUPT 0x310
+#define HPET_TIMER2_CONFIG 0x400
+#define HPET_TIMER2_COMPARE 0x408
+#define HPET_TIMER2_INTERRUPT 0x510
+
+#endif /* __DEV_ACPI_ACPIDEV_H__ */