1.\" $NetBSD: acpiec.4,v 1.6 2010/02/27 20:39:42 snj Exp $ 2.\" 3.\" Copyright (c) 2002, 2004, 2010 The NetBSD Foundation, Inc. 4.\" All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 15.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 16.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 17.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 18.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 19.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 20.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 21.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 24.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25.\" POSSIBILITY OF SUCH DAMAGE. 26.\" 27.Dd February 27, 2010 28.Dt ACPIEC 4 29.Os 30.Sh NAME 31.Nm acpiec 32.Nd ACPI Embedded Controller 33.Sh SYNOPSIS 34.Cd "acpiec* at acpi?" 35.Cd "acpiecdt* at acpi?" 36.Sh DESCRIPTION 37The 38.Nm 39driver supports ACPI Embedded Controllers. 40.Pp 41An ACPI Embedded Controller 42.Pq Tn EC 43is typically a small microprocessor that is responsible for various tasks 44related to 45.Tn ACPI . 46The primary task is to handle 47.Tn ACPI 48specific interrupts, which are mapped to so-called 49.Tn ACPI 50General Purpose Events 51.Pq Tn GPEs . 52Other possible functions include embedded access to other buses such as the 53.Xr iic 4 . 54.Pp 55The 56.Tn ACPI 57specific events range from user initiated events to events triggered by 58the hardware. 59When such an event occurs, typically either a System Management Interrupt 60.Pq Tn SMI 61or a System Control Interrupt 62.Pq Tn SCI 63is raised. 64The latter is an active, visible, shareable, level interrupt. 65On most Intel chipsets 66.Tn SCI 67is hardwired to the interrupt number 9. 68The main task of an 69.Tn EC 70is to raise a system control interrupt. 71.Pp 72All GPEs generate SCIs. 73A typical example of the internal wiring of 74.Tn GPEs 75could involve 76.Xr gpio 4 : 77when, e.g., the 78.Tn AC 79adapter is connected, a certain 80.Tn GPIO 81line becomes active, a given 82.Tn GPE 83is flagged, and a 84.Tn SCI 85interrupt is raised by the 86.Tn EC , 87leading to execution of 88.Tn ACPI 89machine code in order to locate the handler associated with the event. 90A corresponding driver, 91.Xr acpiacad 4 92in this case, will finally finish the processing of the event. 93.Pp 94Due to the reasons described above, majority of 95.Tn ACPI 96specific drivers are dysfunctional without 97.Nm . 98It is therefore recommended that 99.Nm 100is always enabled, 101even though it may not be required on some older systems. 102.Sh SEE ALSO 103.Xr acpi 4 104.Sh HISTORY 105The 106.Nm 107driver 108appeared in 109.Nx 1.6 . 110.Sh CAVEATS 111Many machines depend on early attachment of 112.Nm . 113In such cases the information required by 114.Nm 115should be available as a separate and optional 116Embedded Controller Descriptor Table 117.Pq Tn ECDT . 118If an 119.Tn ECDT 120is not available or early attachment can not be carried out due other reasons, 121the initialization of the whole 122.Xr acpi 4 123subsystem may be problematic. 124