summaryrefslogtreecommitdiffstats
path: root/sys/dev/i2c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* change psize to a signed int to cope with it going negative sincejcs2019-04-081-4/+3
| | | | | | | the data read during polling may be junk fixed with Petr Ročkai ok deraadt, mpi, stsp
* abcrtc(4), a driver for the Abracon AB1805 RTC and similar variants.patrick2019-01-022-1/+266
| | | | ok kettenis@
* fix a memory leak in ihidev_hid_command()jsg2018-09-201-1/+2
| | | | ok claudio@
* Match on interfaces with Digitizers/Touchscreen collections, as longjcs2018-09-011-1/+7
| | | | | | | as they have an X usage. Should get basic touchscreen functionality on some common HID-over-i2c devices like laptops.
* Add umt(4) for USB Windows Precision Touchpad devicesjcs2018-08-251-2/+2
| | | | | | | | Based on imt(4) Rename HIDMT_INPUT_MODE_MT to HIDMT_INPUT_MODE_MT_TOUCHPAD ok deraadt
* Move HID->bus constant conversion for HID report types out of ihidevjcs2018-08-253-14/+7
| | | | | | | | | | | | | | | | | | | | | into hidmt. The HID code uses hid_feature, hid_input, and hid_output constants to refer to report types internally that then need to be converted to their bus-level counterparts before actually getting sent out (so hid_feature becomes UHID_FEATURE_REPORT for USB, I2C_HID_REPORT_TYPE_FEATURE for i2c). This conversion was hard-coded in ihidev but ihidev_[gs]et_report should assume the type passed is already an i2c-level define, not a hid one. This is how uhidev does it. Add a conversion routine callback that any hidmt callers need to set so that hidmt can convert hid constants to the bus-level versions. Also add a similar conversion function to uhidev. ok deraadt
* define WSMOUSE_TYPE_TOUCHPAD so non-elantech drivers can stopjcs2018-07-301-7/+6
| | | | claiming to be elantech devices
* Strip down the (not enabled) pcagpio(4) GPIO extender. This removespatrick2018-07-092-165/+79
| | | | | | | | | the sensors code and user-controllable GPIO bus attachment but at the same time hooks pcagpio(4) into the OFW GPIO framework so that it can be used by other device tree based drivers. Discussed with deraadt@ ok kettenis@
* set I2C_F_POLL when acquiring the iic bus in an interrupt handlerjcs2018-06-221-3/+3
| | | | found by witness, reported and tested by bentley
* Add islrtc(4), a driver for the Intersil ISL1208 Real Time Clock.kettenis2018-04-072-1/+267
|
* revert previous changes to enable dwiic on Dell precision as it seemsmlarkin2018-01-121-2/+2
| | | | | to cause issues on Dell XPS 15 9560. Will investigate and recommit later if a better fix can be found.
* Attach dwiic_pci on Dell Precision 7520. Also restrict ihidev reportsmlarkin2018-01-081-2/+2
| | | | | | to those of 3 bytes or more (as per the hid-over-i2c spec). discussed with jcs, kettenis
* Add bgw(4), a driver for a family of Bosch acceleration sensors.kettenis2017-11-302-1/+200
| | | | ok deraadt@, mlarkin@
* add an adaptive polling mode when no interrupt handler is available,jcs2017-11-292-33/+108
| | | | | | | | | such as on PCI dwiic(4) devices. this is a temporary workaround until the underlying interrupt problem is fixed. tested by various
* Add the compat-mode setup for wsmouse.bru2017-10-281-6/+27
|
* pcxrtc(4), a driver for the NXP PCF8563 RTC.kettenis2017-07-242-1/+292
| | | | ok deraadt@
* this is imt, not imsjcs2017-07-231-7/+7
|
* A pile of sizes to free(9). In test for a few days in snapshots.deraadt2017-04-081-2/+2
| | | | | Errors will result in nice clean panic messages so we know what's wrong. Reviewed by dhill visa natano jsg.
* Don't compare array against null pointer; found by clang.kettenis2016-09-241-3/+2
| | | | ok jca@, jcs@
* correct the size passed to free in iatp_write_regjsg2016-09-041-2/+2
| | | | ok jcs@
* zaurus has been retiredguenther2016-09-031-317/+0
|
* add iatp(4), a driver for the i2c touchpad and touchscreen found onjcs2016-09-012-1/+929
| | | | the chromebook pixel
* I2C driver for the Maxim DS1307 Real Time Clock chip.mglocker2016-06-202-1/+301
| | | | | | | | | | | | The chip has been found on a Sun Fire V210 as a second RTC hooked up to the SMU. Setting the time there has the advantage that it remains after a boot since the internal V210 RTC will be synced by the DS1307 at boot time. Not linked to sparc64 yet since it will overwrite the internal RTC handler. ok deraadt
* Change the identification string to "nxp,pcf8523" as this is what is storedkettenis2016-05-201-2/+2
| | | | in the FDT.
* Attempt to clear the OS flag when we attach.kettenis2016-05-161-1/+7
|
* Add pcfrtc(4).kettenis2016-05-161-1/+6
|
* Driver for the NXP PCF8523 Real Time Clock.kettenis2016-05-161-0/+309
|
* If writing the control register fails, bail out without attaching any sensors.kettenis2016-05-121-1/+5
| | | | | From Marcus Glocker, who has an Apple G5 machine where an advertised sensor isn't there, and plodding on creates annoying dmesg spam.
* Print a meaningful interrupt string for i2c devices.kettenis2016-04-232-4/+6
|
* Fix layer violation in the ihidev(4) code by implementing a generic mechanismkettenis2016-04-102-23/+17
| | | | | | | | | | that allows the i2c controller implementation to establish interrupts on behalf of i2c slave device drivers. Use this mechanism in dwiic(4) to let it configure the right acpi interrupt (global or gpio). Change the level to IPL_TTY as this is the appropriate level to use for keyboards and other input devices. ok jsg@
* Add support for I2C HID devices with GPIO signalled interrupts.jsg2016-04-022-4/+14
| | | | | | Required for the keyboard and touchpad on the ideapad 100s. ok kettenis@
* remove old link to documentation, it's in ihidev.cjcs2016-01-311-4/+2
|
* use hid_desc fields since we have them, instead of manual offsetsjcs2016-01-291-34/+23
| | | | | | into hid_desc_buf tested by jsg
* add hidmt, a HID-layer driver for multitouch touchpads that conformjcs2016-01-202-1/+253
| | | | | | | | to the "Windows Precision Touchpad" standard. when a compatible device is found, hidmt claims all report ids and switches the device into multitouch packet mode. add imt, an i2c-HID driver that sits between ihidev and hidmt
* add the ability to set and get reportsjcs2016-01-202-88/+314
| | | | | | establish interrupt before probing for devices to handle each report id sign an int, found by jsg
* Several fixes for dwiic(4).kettenis2016-01-141-10/+10
| | | | | | | | | | | | | * Properly map bus space; using BUS_SPACE_MAP_PREFATCHABLE is not agood idea as it may lead to reordering or merging of register writes in the store buffer. * Properly implement the iic(4) operations in dwiic_i2c_exec(). * Keep timings set up by the firmware if the SSCN and FMCN methods aren't available. ok jcs@
* Use I2C_F_POLL flag when acquiring and releasing the i2c bus in thekettenis2016-01-141-6/+9
| | | | | | interrupt handler. ok jcs@
* When iterating over the report IDs to calculate the maximum size, takekettenis2016-01-141-16/+14
| | | | | | | | into account the 2 bytes needed to store the length. Also make sure that we have at least wMaxInputLength bytes available for reading input reports. ok jcs@
* Driver for HID-over-i2c keyboards.kettenis2016-01-142-1/+178
|
* fix hid packet length calculationjcs2016-01-131-4/+4
| | | | noticed by jsg
* Don't confuse the HID descriptor address (which really is an office into thekettenis2016-01-132-4/+6
| | | | | | | | | register space of the i2c device) with the i2c address. For i2c busses enumerated by ACPI we get the address from the I2C Serial Bus Connection Resource Descriptor returned by the _CRS methide of the i2c device. Pass the HID descriptor address in the ia_size member. ok jcs@
* rename new i2c_attach_args fields to avoid conflict with cpp magic inderaadt2016-01-122-7/+7
| | | | | isavar.h (a few parts of the tree include both) ok jcs
* Add dwiic, a driver for the Synopsys DesignWare i2c controller foundjcs2016-01-125-2/+894
| | | | | | | | | | | | | 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
* Acquire/release the i2c bus before/after reading the temperature register.kettenis2015-05-301-3/+4
| | | | | | | Prevents concurrent access to the smu(4) microcontroller on Apple G5 machines, which would result in errors reading the RTC. ok deraadt@, mpi@
* Revert unrelated changes in previous.uebayasi2015-05-291-3/+1
|
* Initial addition of ``Patrol Read'' support in bio(4), biocto(8), anduebayasi2015-05-291-1/+3
| | | | | | mfi(4). Based on FreeBSD, but done without mfiutil(8). OK deraadt@
* Remove some includes include-what-you-use claims don'tjsg2015-03-144-9/+4
| | | | | | | have any direct symbols used. Tested for indirect use by compiling amd64/i386/sparc64 kernels. ok tedu@ deraadt@
* add some more sdtemp devicesjsg2014-11-142-2/+12
|
* Do not compile sensor code if option SMALL_KERNELmiod2014-10-121-1/+9
|
* add some more sdtemp devicesjsg2014-09-272-3/+63
| | | | ok deraadt@