Commit Graph

397 Commits

Author SHA1 Message Date
jmcneill d080cb0210 Fix block offsets for ddc_read_edid_block. 2015-07-25 15:20:49 +00:00
msaitoh b469f187fe Add Catalyst CAT34TS02C support. 2015-05-20 00:43:28 +00:00
jmcneill 741d9fcdd4 add ddc_dev_read_edid{,_block} functions, same as ddc_read_edid{,_block} but takes a device_t instead of i2c_tag_t 2015-05-17 01:27:16 +00:00
jmcneill 4408c5e08a Add driver for Texas Instruments TMP451 Temperature Sensor 2015-05-12 20:54:08 +00:00
jmcneill 987ded3f77 Many I2C drivers hold spin locks between iic_acquire_bus / iic_release_bus.
Avoid sleeping while owning the I2C bus.
2015-05-10 22:54:06 +00:00
pgoyette 76a2f91a0e Update module dependencies for all the existing modules that depend on sysmon components. 2015-04-23 23:23:00 +00:00
pgoyette 1335f71021 Add required dependency on i2cexec 2015-04-13 22:26:20 +00:00
joerg 634a4e4c66 Always use polling mode for now, hummingbird doesn't work otherwise. 2015-04-11 20:05:44 +00:00
christos 062c49ed02 dedup code. 2015-04-04 15:16:54 +00:00
riastradh 5d135d4b30 Free cmd on error if we allocated it.
Found by Brainy, reported by maxv@.
2015-04-04 15:14:42 +00:00
jmcneill 22ca8619b1 i2c devices don't actually have a dependency on "iic" (the bus driver)
but on "i2cexec". Create an i2cexec module (i2c_exec.c) to mirror the
dependencies in files.i2c and switch device drivers to depend on "i2cexec"
module instead.

A kernel with a USB stack and no I2C controller / bus attachment would spit
out a bunch of "WARNING: module error: can't find builtin dependency `iic'"
messages at boot. This change solves that problem.
2015-03-07 14:16:51 +00:00
jakllsch 1770391621 More correctly handle I²C exec ioctls with both a command and write data
phase. Previously the data phase of ioctl writes was sending uninitialized
kernel stack to the addressed device.
2015-01-22 17:56:35 +00:00
jmcneill ffda385d59 dont read cs1/cs2 regs when reading clock, only use polling mode when cold, invert logic for century flag (1 means 1900, 0 means 2000), set dt_wday when reading clock 2015-01-11 18:58:09 +00:00
jmcneill 198c829970 add VL flags 2015-01-11 18:56:54 +00:00
jmcneill ec8c565cbd initialize CS1/CS2 regs, honour century flag, return an error on read if voltage low bit is set 2015-01-11 18:05:36 +00:00
jmcneill 9529c23231 pcf8653 driver is compatible, delete this driver 2015-01-11 16:54:21 +00:00
jmcneill 44062b8218 add Haoyu Microelectronic HYM8563 RTC driver 2015-01-11 15:22:26 +00:00
ozaki-r 3cde4cbc35 Pass a correct firmware size (instead of 0) to firmware_free
firmware_free now uses kmem_free(9) instead of free(9),
so we need to pass a correct size to it.
2015-01-07 07:05:48 +00:00
jmcneill 4d45e2f3ec disable ACT_DEBUG, but still print current state at attach 2015-01-02 21:55:31 +00:00
jmcneill 7736c4c7b1 write reg value not target freq in act8846_set_voltage 2015-01-01 17:59:18 +00:00
jmcneill 99d9307398 Add driver for Active-Semi ACT8846 Power Management controller. 2015-01-01 17:33:18 +00:00
jmcneill be2917d5b6 Add driver for X-Powers AC100 integrated audio codec and RTC subsystem.
Only RTC functionality implemented for now.
2014-12-07 14:24:11 +00:00
jmcneill 8880450248 Add AXP806 and AXP809 power management controller drivers. 2014-12-07 00:33:26 +00:00
jmcneill a40ed2df9c Let kernel config override I2C_MAX_ADDR 2014-12-07 00:32:35 +00:00
jmcneill e96eca77a3 On Allwinner A31 you need to set the CONTROL_IFLG bit to clear it. Add
a "iflg-rwc" property to enable this behaviour.
2014-11-23 13:37:27 +00:00
jmcneill fa2843b696 Change internal temperature base from -267.7C to -243.7C. The AXP223
datasheet says that the value is between -267.7C and 165.8C in steps of 0.1C,
but this doesn't make sense for a 12-bit field. If we take the maximum value
and subtract 4095 we get -243.7C, effectively adding +24C to the reported
temp. On my A31 board, this changes a chilly 15.3C to a more reasonable 39.3C.
2014-11-21 22:31:09 +00:00
christos b59f66e17c use the inline bcdtobin and bintobcd directly instead through a macro. 2014-11-20 16:34:25 +00:00
jmcneill eb56a1b73d add ddc_read_edid_block, which is the same as ddc_read_edid but takes an additional block number argument 2014-11-17 00:46:44 +00:00
uebayasi 6daf3913d5 dsrtc depends on sysmon_envsys. 2014-10-15 05:11:36 +00:00
martin 576a83b8b9 Initialize a variable that gcc thinks might be used uninitialized. 2014-10-13 10:29:27 +00:00
jmcneill 2c0e187596 add AXP22x Power Management Unit driver 2014-10-12 23:58:42 +00:00
macallan a4800d0d68 - support DS3231 ( more or less a DS3232 without NVRAM it seems )
- support the DS3231's temperature sensor
2014-10-12 01:23:23 +00:00
matt 80324f8437 fix some c&p bugs. 2014-10-07 21:32:10 +00:00
jmcneill e8cd4b633c correct softreset reg for allwinner boards 2014-09-11 11:14:44 +00:00
jmcneill e655400758 fix a sizeof typo 2014-09-09 23:39:16 +00:00
jmcneill e5f864cf4a AXP20x Power Management Unit driver, pretty basic at the moment -- only acts as a temperature sensor 2014-09-09 22:47:33 +00:00
jmcneill 23897eff59 AllWinner implementation uses a different register layout, select it with options GTTWSI_ALLWINNER 2014-09-09 22:44:32 +00:00
tls ea6af427bd Merge tls-earlyentropy branch into HEAD. 2014-08-10 16:44:32 +00:00
joerg 4581fa8163 Assume bitops are meant here. 2014-08-04 23:28:19 +00:00
dholland f9228f4225 Add d_discard to all struct cdevsw instances I could find.
All have been set to "nodiscard"; some should get a real implementation.
2014-07-25 08:10:31 +00:00
bouyer ca721aa69b Add a callback to change the regulator outputs.
Tested on beaglebone.
2014-07-20 23:01:22 +00:00
kardel f4fb489c95 allow i2c address 0x01-0x7F
ignore responses if the sensor is in command mode
2014-06-29 09:52:43 +00:00
kardel 21c18910f4 remove artifacts inspired by misleading documentation
fix address calculation macros
fix typoes
2014-06-29 09:06:05 +00:00
tsutsui 2136ca1e28 Use todr_[gs]ettime_ymdhms functions that handle ymdhms format properly.
Compile test only.
2014-06-29 04:04:02 +00:00
kardel 54c2251d60 add HYT-221/271/939 humidity/temperature I2C sensor
extend envsys(4) framework by %rH (relative humidity)
2014-05-18 11:46:23 +00:00
pooka a81a378780 Remove extraneous sysctl setup calls now done as part of regular attach. 2014-04-14 14:30:24 +00:00
christos b2dc35d4a2 fix statement with no effect (Dave Tyson) 2014-04-13 12:42:47 +00:00
skrll 7f6a34a4a9 Fix build.
Hi dh!
2014-03-17 15:57:56 +00:00
dholland a68f9396b6 Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
2014-03-16 05:20:22 +00:00
pooka 4f6fb3bf35 Ensure that the top level sysctl nodes (kern, vfs, net, ...) exist before
the sysctl link sets are processed, and remove redundancy.

Shaves >13kB off of an amd64 GENERIC, not to mention >1k duplicate
lines of code.
2014-02-25 18:30:08 +00:00