aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/intel
Commit message (Collapse)AuthorAgeFilesLines
* intel: add hfsts debug-probe driver for Intel ME/HECI firmware statusAbdelkader Boudih2026-09-153-0/+813
| | | | | | | | | | | | | Add an amd64-only, Intel-only diagnostic driver that reads ME Host Firmware Status registers from PCI configuration space without mapping the messaging BAR. Select the HFS register count per device generation, decode sparse HFS1 state, mode, and error fields, and expose raw and summarized status via sysctl. Register an ISA-side hfstsfd probe for supported RCBA/FD2 generations so firmware-hidden HECI functions can be diagnosed. Reviewed by: kbowling, adrian Differential Revision: https://reviews.freebsd.org/D58863
* intel/intelpmc: Add Intel PMC Core driverAbdelkader Boudih2026-09-131-0/+219
| | | | | | | | | | | | | | | | | | | | | | Add driver for Intel Power Management Controller (PMC) found on Sunrise Point PCH chipsets. This device exposes S0ix sleep state residency counters and power management status. Sysctls provided: dev.intelpmc.0.slp_s0_residency_us - Time in deepest sleep (us) dev.intelpmc.0.ltr_ignore - LTR ignore mask dev.intelpmc.0.pm_cfg - PM configuration register dev.intelpmc.0.pm_sts - PM status register dev.intelpmc.0.access_denied - Firmware lock status Supported devices for now: - Sunrise Point-LP (0x9D21) - Sunrise Point-H (0xA121) Note: Later PCH generations (Cannon Lake, Tiger Lake, ect.) have different PMC register layouts according to the datasheet and would need per-generation tables. I avoided adding untested hardware in case they have a quirk. Reviewed by: olce, adrian Differential Revision: https://reviews.freebsd.org/D54881
* intelspi: add Nova Lake SPI controller IDsAbdelkader Boudih2026-08-261-0/+6
| | | | | | | | Add PCI device IDs for Nova Lake-generation LPSS peripheral SPI controllers. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D59013
* intelspi: add Panther Lake SPI controller IDsAbdelkader Boudih2026-08-261-0/+6
| | | | | | | | Add PCI device IDs for Panther Lake-generation LPSS peripheral SPI controllers. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D59012
* intelspi: add Wildcat Lake SPI controller IDsAbdelkader Boudih2026-08-261-0/+3
| | | | | | | | Add PCI device IDs for Wildcat Lake-generation LPSS peripheral SPI controllers. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D59011
* intelspi: add Lunar Lake SPI controller IDsAbdelkader Boudih2026-08-221-0/+3
| | | | | | | | Add PCI device IDs for Lunar Lake-generation LPSS peripheral SPI controllers. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D59010
* intelspi: add Arrow Lake SPI controller IDsAbdelkader Boudih2026-08-221-0/+3
| | | | | | | | Add PCI device IDs for Arrow Lake-generation LPSS peripheral SPI controllers. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D59009
* intelspi: add Meteor Lake SPI controller IDsAbdelkader Boudih2026-08-221-0/+7
| | | | | | | | Add PCI device IDs for Meteor Lake-generation LPSS peripheral SPI controllers. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D59008
* intelspi: add Raptor Lake SPI controller IDsAbdelkader Boudih2026-08-221-0/+4
| | | | | | | | Add PCI device IDs for Raptor Lake-generation LPSS peripheral SPI controllers. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D59007
* intelspi: add Alder Lake SPI controller IDsAbdelkader Boudih2026-08-221-0/+10
| | | | | | | | Add PCI device IDs for Alder Lake-generation LPSS peripheral SPI controllers. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D59006
* intelspi: add Elkhart Lake SPI controller IDsAbdelkader Boudih2026-08-221-0/+3
| | | | | | | | Add PCI device IDs for Elkhart Lake-generation LPSS peripheral SPI controllers. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D59005
* intelspi: add Tiger Lake SPI controller IDsAbdelkader Boudih2026-08-221-0/+11
| | | | | | | | Add PCI device IDs for Tiger Lake-generation LPSS peripheral SPI controllers. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D59004
* intelspi: add Jasper Lake SPI controller IDsAbdelkader Boudih2026-08-221-0/+3
| | | | | | | | Add PCI device IDs for Jasper Lake-generation LPSS peripheral SPI controllers. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D59003
* intelspi: add Ice Lake SPI controller IDsAbdelkader Boudih2026-08-221-0/+3
| | | | | | | | Add PCI device IDs for Ice Lake-generation LPSS peripheral SPI controllers. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D59002
* intelspi: add Lakefield SPI controller IDsAbdelkader Boudih2026-08-221-0/+1
| | | | | | | | Add PCI device IDs for Lakefield-generation LPSS peripheral SPI controllers. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D59001
* intelspi: add Comet Lake SPI controller IDsAbdelkader Boudih2026-08-211-0/+6
| | | | | | | | Add PCI device IDs for Comet Lake-generation LPSS peripheral SPI controllers. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D59000
* intelspi: add Cannon Lake SPI controller IDsAbdelkader Boudih2026-08-211-0/+6
| | | | | | | | Add PCI device IDs for Cannon Lake-generation LPSS peripheral SPI controllers. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D58999
* intelspi: add Apollo Lake SPI controller IDsAbdelkader Boudih2026-08-211-0/+3
| | | | | | | | Add PCI device IDs for Apollo Lake-generation LPSS peripheral SPI controllers. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D58998
* intelspi: add Broxton SPI controller IDsAbdelkader Boudih2026-08-211-0/+6
| | | | | | | | Add PCI device IDs for Broxton-generation LPSS peripheral SPI controllers. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D58997
* intelspi: sort PCI ID table by device IDAbdelkader Boudih2026-08-211-3/+3
| | | | | | | | Sort the existing LPSS peripheral SPI controller PCI ID table by numeric device ID so new entries have an unambiguous insertion point. Reviewed by: wulf Differential Revision: https://reviews.freebsd.org/D58996
* intelspi: add Gemini Lake SPI controller PCI IDsAbdelkader Boudih2026-08-191-0/+3
| | | | | | | | Add Gemini Lake LPSS SPI controller PCI IDs (0x31c2, 0x31c4, 0x31c6) to intelspi_pci_devices[]. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D58868
* spi: Remove incorrect pci idShengYi Hung2026-06-011-1/+0
| | | | | | | | | This id is for SPI flash instead of spi bus Fixes: 39e297bf54a5 ("ig4iic: Add PantherLake IDs") MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Sponsored by: Framework Computer Inc
* ig4iic: Add PantherLake IDsDaniel Schaefer2026-06-011-0/+1
| | | | | | MFC after: 2 weeks Sponsored by: Framework Computer Inc Signed-off-by: Daniel Schaefer <dhs@frame.work>
* Use bus_generic_detach instead of device_delete_children in detachJohn Baldwin2025-01-021-1/+6
| | | | | | | While here, check for errors from bus_generic_detach and move it to the start of detach if necessary. Differential Revision: https://reviews.freebsd.org/D47969
* bus_delayed_attach_children: Switch return type to voidJohn Baldwin2024-12-061-1/+2
| | | | | | | This function never fails similar to bus_attach_children. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D47677
* newbus: globally replace device_add_child(..., -1) with DEVICE_UNIT_ANYWarner Losh2024-07-251-1/+1
| | | | Sponsored by: Netflix
* pchtherm(4): Add PCI ID for Wellsburg Thermal SubsystemDmitry Luhtionov2023-12-191-0/+2
| | | | MFC after: 2 weeks
* sys: Automated cleanup of cdefs and other formattingWarner Losh2023-11-273-3/+0
| | | | | | | | | | | | | | | | Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row. Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/ Sponsored by: Netflix
* sys: Remove $FreeBSD$: one-line .c patternWarner Losh2023-08-161-2/+0
| | | | Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
* intelspi: Add support for ddb/kdb -compatible polled modeVladimir Kondratyev2023-08-032-17/+42
| | | | | | | | | | | | | | | | Required for Apple and Microsoft -compatible HID-over-SPI drivers. Most logic was already implemented in commit 3c0867343819 "spibus: extend API: add cs_delay ivar, KEEP_CS and NO_SLEEP flags". It dissallowed driver sleeps in the interrupt context. This commit extends this feature to handle ddb/kdb context with following: - Skip driver locking if SPI functions were called from kdb/ddb. - Reinitialize controller if kdb/ddb initiated SPI transfer has interrupted another already running one. Does not work very reliable yet. Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D41247
* intelspi: Release LPSS reset on Sunrise Point controllers.Vladimir Kondratyev2023-08-031-0/+9
| | | | | | | | MacBookPro 14.1 SPI controller requires that to start functioning. MFC after: 1 week Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D41245
* intelspi: Move ACPI/PCI ids table out of header file.Vladimir Kondratyev2023-08-034-45/+42
| | | | | | | | There is no reason to store it multiple times. MFC after: 1 week Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D41244
* intelspi: Add generic resource methods to bus interfaceVladimir Kondratyev2023-08-032-0/+18
| | | | | | | | That allows intelspi grandchildren to allocate IRQs MFC after: 1 week Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D41242
* intelspi: don't leak spibus on detach.Vladimir Kondratyev2023-08-031-1/+1
| | | | | | MFC after: 1 week Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D41241
* intelspi(4): Add missing driver mutex unlock in NO_SLEEP modeVladimir Kondratyev2023-07-311-1/+3
| | | | | | Fixes: 1f40866feb21 ("intelspi: add PCI attachment (Lynx/Wildcat/Sunrise Point)") MFC after: 1 week
* intelspi: add PCI attachment (Lynx/Wildcat/Sunrise Point)Val Packett2023-04-244-106/+479
| | | | | | | | | | | | | | | | | Also adds fixups and cleanups: - apply the child's mode/speed - implement suspend/resume support - use RF_SHAREABLE interrupts - use bus_delayed_attach_children since the transfer can use interrupts - add support for newly added spibus features (cs_delay and flags) Operation tested on Broadwell (Wildcat Point) MacBookPro12,1. Attachment also tested on Kaby Lake (Sunrise Point) Pixelbook. Reviewed by: wulf MFC after: 1 month Differential revision: https://reviews.freebsd.org/D29249
* pchtherm/intelspi: Remove unused devclass arguments to DRIVER_MODULE.John Baldwin2022-05-092-4/+4
|
* pchtherm: Add IDs for CannonLake-H, CometLake and Lewisburg controllersVladimir Kondratyev2021-04-141-1/+9
| | | | | Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com> MFC after: 2 weeks
* pchtherm: fix a wrong bit and a wrong register useMichal Vanco2021-03-051-2/+2
| | | | | | | | Probably just copy-paste errors that slipped in. PR: 253915 Reported by: Michal Vanco <michal.vanco@gmail.com> MFC after: 1 week
* Add Cannon Point PCH Thermal Controller Device ID.Takanori Watanabe2020-09-011-0/+2
| | | | | | | | PR: 249047 Reported by: Dries Michiels <driesm.michiels at gmail.com> Notes: svn path=/head/; revision=365050
* Add Platform Controller Hub built-in thermal management device driver.Takanori Watanabe2020-03-311-0/+316
| | | | | | | Differential Revision: https://reviews.freebsd.org/D24077 Notes: svn path=/head/; revision=359479
* Distinguish _CID match and _HID match and make lower priority probeTakanori Watanabe2018-10-261-7/+8
| | | | | | | | | | when _CID match. Reviewed by: jhb, imp Differential Revision:https://reviews.freebsd.org/D16468 Notes: svn path=/head/; revision=339754
* intelspi: don't leak spibus children on detach.Konstantin Belousov2018-09-081-1/+1
| | | | | | | | | | Submitted by: Yuri Pankov MFC after: 1 week Approved by: re (gjb) Differential revision: https://reviews.freebsd.org/D17076 Notes: svn path=/head/; revision=338534
* Specify the correct resource type in teardown paths.Mark Johnston2018-09-071-2/+2
| | | | | | | | | Submitted by: Yuri Pankov <yuripv@yuripv.net> Approved by: re (kib) MFC after: 1 week Notes: svn path=/head/; revision=338528
* [intelspi] Add SPI driver for Intel BayTrail SoCOleksandr Tymoshenko2016-12-271-0/+533
Add SPI mode (PIO-only) support for Intel Synchronous Serial Port that can be found in several Intel's products starting from PXA family. Most of implementations have slight differences in behavior and in addresses for registers subset. This driver covers only BayTrail SoC implementation for it's the only hardware I have to test it on. Driver attaches to ACPI bus only and does not have PCI or FDT support for now due to lack of hardware to test it on. "intelspi" is the best name I've managed to come up with. Linux driver name (spi-pxa2xx) does not make sense because current implementation does not support actual PXA2xx SoCs. And as far as I know there is no codename assigned to Intel SSP chip. Reviewed by: br, manu MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D8896 Notes: svn path=/head/; revision=310645