summaryrefslogtreecommitdiffstats
path: root/sys/dev/i2c
AgeCommit message (Collapse)AuthorFilesLines
2021-01-22ims: an actual i2c-connected mouse is unlikelyjcs1-3/+2
Claim to be a touchpad instead, which sets up ims devices in X11 to be more like touchpads. ok mglocker
2021-01-13Add support for the HYM8563 RTC, which is a PCF8563 clone.kettenis1-5/+3
ok kurt@
2020-11-14Extend pcamux(4) with ACPI support. So far pcamux(4) has assumed it'spatrick1-5/+189
always matched on an FDT-capable device, but the HoneyComb LX2K seems to have a PCA9547 and provides it as NXP0002 HID. This means we know if it's ACPI or FDT based on the name passed. This is required to be able to make two acpitz(4) nodes work, since the thermel sensors are behind the mux. ok kettenis@
2020-11-13Add support for the PCA9547 I2C mux to pcamux(4). In comparison topatrick1-7/+21
the PCA954[68], this is a mux instead of a switch and can only have one active channel at a time. On the bright side, we treat switches like a mux, so only the bits have to be set a little bit differently. ok kettenis@
2020-10-23Add support for the Micro Crystal RV4162. This variant holds thepatrick1-3/+5
square wave frequency control bits in the Day Of Week register. To make sure we don't fudge with those bits, only reset those that hold the day and keep the rest as is. ok kettenis@
2020-09-30Move mfokclock(4) from loongson to sys/dev/i2c so that it be used by morepatrick2-1/+159
platforms than just loongson. Rename it to mfokrtc(4) for consistency with other RTC drivers. Make it match on st,m41t83, since that was the chip for which the driver was written for. More compatible strings can be added for each chip of the series verified to behave the same. Discussed with kettenis@ Compile tested on loongson by kn@ Tested on loongson by and ok visa@
2020-09-29Add support for the PCA9546 I2C switch to pcamux(4). In comparison topatrick1-5/+14
PCA9548, this variant supports only 4 instead of 8 channels. ok kettenis@
2020-09-29The pcamux(4) device tree node's children are the individual channels,patrick1-2/+4
which we each treat as an I2C bus. While scanning these, we need to use each channel's node as starting point instead of the pcamux(4) node. This fixes finding and attaching devices connected to these channels. ok kettenis@
2020-08-26Declare hw_{prod,serial,uuid,vendor,ver} in <sys/systm.h>.visa1-4/+1
OK deraadt@, mpi@
2020-07-09On some laptops that have a Windows Precision Touchpad (imt) andjcs3-13/+26
also a trackstick or separate physical buttons, imt was claiming all report ids of the ihidev device preventing the trackstick/buttons from attaching as a separate ims device on other report ids. Just claim the report ids that imt needs and let ims attach to others it may find. Fixes two Dell Latitude laptops and tested in snaps for a bit.
2020-06-18Add pcamux(4), a driver for the PCA8548 I2C switch.kettenis2-1/+235
ok patrick@
2020-04-29Enable the trickle charger after setting the control register.patrick1-5/+5
2020-04-29Update the trickle charger diode defines based on the datasheet, andpatrick1-3/+4
enable the trickle charger.
2020-04-29Writing and reading time has been broken in abcrtc(4) as well. I waspatrick1-19/+18
being too clever trying to use the SMBus block reads/writes. Instead the registers were written with an offset: Seconds were stored in the minutes, minutes were stored in the hours. No wonder time was ticking so slowly. Removing the bogus length field and simply writing/reading the time register values is enough. ok kettenis@
2020-04-29Configure abcrtc(4)'s trickle charger. This uses informationpatrick1-1/+63
from the device tree to configures the RTC to be able to charge a connected battery or capacitor. ok kettenis@
2020-04-29The function to write to abcrtc(4)'s configuration registerspatrick1-2/+2
unfortunately did not write the data to the register, but the register offset. Oops. ok kettenis@
2020-04-27Attach when the name matches "dallas,ds1307" which is what the device treekettenis1-8/+3
binding uses. Remove warning about overwriting todr_handle since that is normal behaviour on arm64 systems. ok sthen@
2020-04-27Don't clear OSF flag when we attach such that we can reject the RTC clockkettenis1-9/+10
time if the flag is set. Instead clear the flag when we set the time. This way we don't use the clock time if the oscillator has been interrupted. This happens for example when the battery is dead. ok sthen@
2020-04-25Add dsxrtc(4), a driver for the Maxim DS3231/DS3232 I2C RTC.kettenis2-1/+254
ok deraadt@
2020-04-24Remove unused include.kettenis1-2/+1
2020-04-24Remove unused struct.kettenis1-7/+1
2020-01-24ihidev(4): tsleep(9) -> tsleep_nsec(9); ok mpi@ jcs@cheloha1-10/+3
2020-01-11Use block mode for smbus access as required by the IPMI standard andkettenis1-13/+57
implement multi-block transfers. ok claudio@
2020-01-11Add constants to support block mode. Needed to support SMBus block readkettenis1-9/+17
and write. ok claudio@
2020-01-09Convert sleeps of 1sec or more to tsleep_nsec(9).mpi1-2/+3
ok bluhm@
2019-12-16Extend the expected SPD types to include DDR4 and low-power DDR3 & 4.claudio1-2/+2
OK deraadt@ kettenis@
2019-10-06Fix month mask.kettenis1-2/+2
ok deraadt@, patrick@
2019-09-06mcprtc(4), a driver for the Microchip MCP79400 RTC and similar variants.patrick2-1/+280
ok kettenis@
2019-09-03Avoid uninitialized variable; using a for loop like in siif_recvmsg() waskettenis1-4/+4
what I had intended to write anyway. spotted-by & ok jsg@
2019-08-19Add support for SMBus System Interface (SSIF).kettenis2-1/+230
ok jmatthew@
2019-07-31ihidev: continue doing polling when interrupt setup failsjcs1-2/+2
2019-07-22Even when polling is requested, install ihidev's interrupt handlerjcs3-9/+67
If an interrupt is received, turn off polling and rely on interrupts. This may happen after S3 resume. Also properly shut down polling during suspend and start it up again on resume only after dwiic is back in action.
2019-04-08change psize to a signed int to cope with it going negative sincejcs1-4/+3
the data read during polling may be junk fixed with Petr Ročkai ok deraadt, mpi, stsp
2019-01-02abcrtc(4), a driver for the Abracon AB1805 RTC and similar variants.patrick2-1/+266
ok kettenis@
2018-09-20fix a memory leak in ihidev_hid_command()jsg1-1/+2
ok claudio@
2018-09-01Match on interfaces with Digitizers/Touchscreen collections, as longjcs1-1/+7
as they have an X usage. Should get basic touchscreen functionality on some common HID-over-i2c devices like laptops.
2018-08-25Add umt(4) for USB Windows Precision Touchpad devicesjcs1-2/+2
Based on imt(4) Rename HIDMT_INPUT_MODE_MT to HIDMT_INPUT_MODE_MT_TOUCHPAD ok deraadt
2018-08-25Move HID->bus constant conversion for HID report types out of ihidevjcs3-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
2018-07-30define WSMOUSE_TYPE_TOUCHPAD so non-elantech drivers can stopjcs1-7/+6
claiming to be elantech devices
2018-07-09Strip down the (not enabled) pcagpio(4) GPIO extender. This removespatrick2-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@
2018-06-22set I2C_F_POLL when acquiring the iic bus in an interrupt handlerjcs1-3/+3
found by witness, reported and tested by bentley
2018-04-07Add islrtc(4), a driver for the Intersil ISL1208 Real Time Clock.kettenis2-1/+267
2018-01-12revert previous changes to enable dwiic on Dell precision as it seemsmlarkin1-2/+2
to cause issues on Dell XPS 15 9560. Will investigate and recommit later if a better fix can be found.
2018-01-08Attach dwiic_pci on Dell Precision 7520. Also restrict ihidev reportsmlarkin1-2/+2
to those of 3 bytes or more (as per the hid-over-i2c spec). discussed with jcs, kettenis
2017-11-30Add bgw(4), a driver for a family of Bosch acceleration sensors.kettenis2-1/+200
ok deraadt@, mlarkin@
2017-11-29add an adaptive polling mode when no interrupt handler is available,jcs2-33/+108
such as on PCI dwiic(4) devices. this is a temporary workaround until the underlying interrupt problem is fixed. tested by various
2017-10-28Add the compat-mode setup for wsmouse.bru1-6/+27
2017-07-24pcxrtc(4), a driver for the NXP PCF8563 RTC.kettenis2-1/+292
ok deraadt@
2017-07-23this is imt, not imsjcs1-7/+7
2017-04-08A pile of sizes to free(9). In test for a few days in snapshots.deraadt1-2/+2
Errors will result in nice clean panic messages so we know what's wrong. Reviewed by dhill visa natano jsg.