summaryrefslogtreecommitdiff
path: root/sys/dev/acpi/acpireg.h
AgeCommit message (Collapse)Author
2022-11-24Don't report unknown apic structure types if they're in the OEM reservedJonathan Matthew
range (0x80 to 0xff). We're not going to understand OEM specific structures, and some machines such as the Dell R6515 have significant numbers of them. ok kettenis@
2022-01-09spellingJonathan Gray
feedback and ok tb@ jmc@ ok ratchov@
2022-01-02preferense -> preferenceJonathan Gray
2021-10-23tpm(4): add support for tpm2 CRB interfaceDave Voutila
Some modern tpm2 devices require or prefer drivers communicate via the CRB interface and not the TIS/fifo interface. This change adds basic support for detecting CRB start mode and using CRB to issue commands required for proper S4 hibernation. As a result, this also defines a new struct definition for the TPM2 acpi table required for start mode detection. This fixes recent S4 regressions on the Surface Go 2 caused by a change in firmware from Microsoft. Other CRB start methods may need implementing in the future to support additional hardware. tested by deraadt@ and many others, ok kettenis@
2021-03-23Pack the SPCR struct definition since the struct isn't naturally alignedPatrick Wildt
or padded, and hence e. g. the access to the PCI vendor/device id would be broken. The structs for the other tables all seem to be packed as well. ok kettenis@
2021-03-15Add the IORT structure for named components. These give us the stream idsPatrick Wildt
used towards an smmu(4) for non-PCI devices. The references are provided as ASCII printable paths. ok kettenis@
2021-03-10Fix typo for ATS attribute member in IORT root complex struct.Patrick Wildt
2021-01-23Fix IORT struct for Context and PMU interrupts. I misread bytes with bits.Patrick Wildt
ok kettenis@
2021-01-17Add defines for the various ARM SMMU models.Patrick Wildt
ok kettenis@
2021-01-15Add IORT structs for ARM SMMU versions 1 and 2.Patrick Wildt
ok kettenis@
2021-01-15Split the IORT struct into two, as the current version not only containedPatrick Wildt
the generic IORT node information but also the Root Complex's attributes. ok kettenis@
2021-01-15Add IORT id for ARM SMMUv3.Patrick Wildt
ok kettenis@
2021-01-15Move IO Remapping Table (IORT) struct defines to the common ACPI headerPatrick Wildt
so that it can be used by more drivers. ok kettenis@
2020-09-15Add acpi_ivhd_ext definitions to acpireg.hJordan Hargrave
ok kettenis@
2019-08-28Use ACPI information to attach PCI busses like we do on arm64. There are aMark Kettenis
few additional quirks though, and attaching the PCI busses is delayed to replicate the existing code more closely. That may be changed in the future. Also tweak how we handle MSI support and respect to ACPI flag that says we shouldn't attempt to use MSIs. Some fallout is expected. ok patrick@
2019-06-10Print proper ACPI version number.Mark Kettenis
ok mlarkin@
2018-08-19Add support for multiple PCI segments. Only really implemented for arm64Mark Kettenis
for now as amd64/i386 firmware still caters for legacy OSes that only support a single PCI segment. ok patrick@
2018-07-01Add definitions for SPCR tables.Mark Kettenis
ok mlarkin@
2018-06-29Use <stdint.h> types.Mark Kettenis
ok mpi@, jung@, krw@, deraadt@
2018-03-14On newer machines IPMI attaches only using the ACPI tables instead ofPatrick Wildt
the SMBIOS table. Some machines even have IPMI defined in both tables. This attachment driver makes ipmi(4) available via ACPI. There can only attach one ipmi(4) device, either on ACPI or SMBIOS. Akin to the SMBIOS-attached ipmi(4) this driver is disabled by default. Feedback from jsg@ ok deraadt@
2017-03-12try to attach acpisbs first and if successful, don't attach acpibatJoshua Stein
2017-02-25move vendor HIDs into their drivers, clean up some unused definesJoshua Stein
ok kettenis
2017-02-25attach acpithinkpad to LEN0268 HID found on newer thinkpadsJoshua Stein
2016-07-10Rename apic_proc_uid field to acpi_proc_uid in the acpi_madt_x2apic struct.Mark Kettenis
It is the ACPI processor UID that is stored here. ok guenther@
2016-05-07Add defines for Operation Region Address Space Identifiers and use them whenMark Kettenis
acpiec(4) calls the _REG method. ok mlarkin@
2016-01-14Attach dwiic(4) on the Intel Bay Trail i2c controllers as well.Mark Kettenis
2016-01-12Improve emulation of PM registers on Hardware-redcued ACPI by emulatingMark Kettenis
SPL_TYPx, SLP_EN and WAK_STS using the new SLEEP_STATUS_REG and SLEEP_CONTROL_REG registers. Makes the transition into S5 (powerdown) work on the ASUS X205TA. ok deraadt@, mlarkin@
2016-01-12Add dwiic, a driver for the Synopsys DesignWare i2c controller foundJoshua Stein
on the Samsung ATIV Book 9 laptop. This initial version only supports ACPI config/attachment. Add ihidev, a HID-over-i2c driver largely based on uhidev. dwiic handles attaching ihidev devices found in ACPI. Add ims, a HID-over-i2c mouse/trackpad driver to get basic cursor and button functionality from HID-compliant i2c trackpads. ok kettenis deraadt
2016-01-09Add HW_REDUCED_ACPI and LOW_POWER_S0_IDLE_CAPABLE FADT flags.Mark Kettenis
2015-01-15Define a new wscons mouse type for Synaptics clickpad devices that lackJonathan Gray
physical buttons. This will be used if the acpi pnpid for the mouse matches a list provided by Synaptics found in Linux. Combined with the xenocara changes this will remove the need for an xorg config file for the x240/t440/t540 generation of thinkpads. ok matthieu@ shadchin@ kettenis@
2013-11-06Add support for Power Resources for Dx states and the necessary hookMartin Pieuchot
for PCI devices. This hook should be called twice, before and after changing the power state of a PCI device. Before setting the device to the new state, the ACPI layer will notify every power resources linked to the device for that state and make sure they are turned "_ON". After changing the state of the device, it will decrement the reference of every power resources linked to that device for the old state and turn them "_OFF" if they are no longer referenced. This fixes the no-USB after resume problem seen on various ThinkPad, problem initialy diagnosed with Alexander Polakov. ok kettenis@, deraadt@
2012-07-13Disable acpivideo(4) on ASUS laptops.Paul Irofti
There are some models that panic whenever an event is received. Some cope, some don't. In order to get this right acpiec(4) requires major rework. Until then let machines boot. Discussed with deraadt@.
2012-01-07Add X2APIC-related definitions for the MADT and silently skip them insteadMark Kettenis
of printing a warning.
2011-06-16Import acpitoshiba driver.Paul Irofti
This is originally written by Hiroyuki Aizu, ported and integrated in our tree by Javier Vazquez <javama4 AT gmail> with tweaks and suggestions by me. Import prodded by deraadt@ and the lack of testers on tech@.
2011-04-27attach acpithinkpad to newer lenovo models like the x120ejoshua stein
ok deraadt@
2011-01-04Add support for Memory Mapped Configuration space access. This gives usMark Kettenis
access to PCIe extended configuration space access on modern i386 and amd64 machines.
2010-07-21spacing and indents that are driving me crazyTheo de Raadt
2010-06-29Add support for mapping ACPI to PCI devicesJordan Hargrave
ok kettenis, deraadt
2010-06-28KNFJordan Hargrave
2010-06-28Add definitions for Intel/AMD IOMMU ACPI tablesJordan Hargrave
2010-06-27Clear ACPI fixed event status on resume (power buttons/etc) so that someMike Larkin
machines don't immediately resume after suspending to S3. Tested by kettenis@ and I on 5 or 6 machines, deraadt@ "yeah, looks good"
2009-07-23New aibs(4) driver for ASUSTeK AI Booster (ACPI ATK0110) hardware monitoring,Constantine A. Murenin
with sensor state support through limits provided by the ACPI. Tested on several ASUS motherboards kindly networked by Sam Fourman Jr. ok deraadt marco jordan
2009-04-11Add PnP ID for PCIe host bridge.Mark Kettenis
2009-02-19suspend/resume bits so that we can develop this in tree. This is disabled.Marco Peereboom
code from mlarkin and me help from art,toby,jordan and several others ok jordan, go for it deraadt
2008-06-24Thinkpad -> ThinkPadIgor Sobrado
2008-04-27add acpithinkpad(4), an acpi support driver for ibm/lenovojoshua stein
thinkpads. provides functionality that the bios did on older, non-acpi thinkpads like respond to screen brightness keys and toggle the bluetooth device on and off. ok deraadt@ and marco@
2008-04-24Introduce acpiasus(4), a driver for the ACPI based hotkeys found in manyJoel Sing
ASUS laptops (including the ASUS EeePC) - largely based on NetBSD's asus(4) driver. On the ASUS EeePC this allows us to enable/disable wireless, change screen brightness and use the volume keys. ok jsg@, weingart@
2006-12-12Fix a typo to clean M's out of my tree.Michael Knudsen
2006-10-12Fix typo. Found by: Janek Richter <janek at openbug dot org>Marco Peereboom
2006-10-10add a few more ACPI device ids, as found on a Acer Aspire 1360.Brad Smith
From Maxim Bourmistrov <maxim at student dot chalmers dot se> via marco@, ok marco@