aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/intel/spi.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
* intelspi: Add support for ddb/kdb -compatible polled modeVladimir Kondratyev2023-08-031-16/+41
| | | | | | | | | | | | | | | | 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-031-0/+23
| | | | | | | | There is no reason to store it multiple times. MFC after: 1 week Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D41244
* 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-241-106/+131
| | | | | | | | | | | | | | | | | 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-091-2/+1
|
* 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