summaryrefslogtreecommitdiffstats
path: root/sys/dev/i2c
AgeCommit message (Collapse)AuthorFilesLines
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.
2016-09-24Don't compare array against null pointer; found by clang.kettenis1-3/+2
ok jca@, jcs@
2016-09-04correct the size passed to free in iatp_write_regjsg1-2/+2
ok jcs@
2016-09-03zaurus has been retiredguenther1-317/+0
2016-09-01add iatp(4), a driver for the i2c touchpad and touchscreen found onjcs2-1/+929
the chromebook pixel
2016-06-20I2C driver for the Maxim DS1307 Real Time Clock chip.mglocker2-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
2016-05-20Change the identification string to "nxp,pcf8523" as this is what is storedkettenis1-2/+2
in the FDT.
2016-05-16Attempt to clear the OS flag when we attach.kettenis1-1/+7
2016-05-16Add pcfrtc(4).kettenis1-1/+6
2016-05-16Driver for the NXP PCF8523 Real Time Clock.kettenis1-0/+309
2016-05-12If writing the control register fails, bail out without attaching any sensors.kettenis1-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.