freebsd-dev/sys
Andriy Gapon e3722b788e add superio driver
The goal of this driver is consolidate information about SuperIO chips
and to provide for peaceful coexistence of drivers that need to access
SuperIO configuration registers.

While SuperIO chips can host various functions most of them are
discoverable and accessible without any knowledge of the SuperIO.
Examples are: keyboard and mouse controllers, UARTs, floppy disk
controllers.  SuperIO-s also provide non-standard functions such as
GPIO, watchdog timers and hardware monitoring.  Such functions do
require drivers with a knowledge of a specific SuperIO.

At this time the driver supports a number of ITE and Nuvoton (fka
Winbond) SuperIO chips.
There is a single driver for all devices.  So, I have not done the usual
split between the hardware driver and the bus functionality.  Although,
superio does act as a bus for devices that represent known non-standard
functions of a SuperIO chip.  The bus provides enumeration of child
devices based on the hardcoded knowledge of such functions.  The
knowledge as extracted from datasheets and other drivers.
As there is a single driver, I have not defined a kobj interface for it.
So, its interface is currently made of simple functions.
I think that we can the flexibility (and complications) when we actually
need it.

I am planning to convert nctgpio and wbwd to superio bus very soon.
Also, I am working on itwd driver (watchdog in ITE SuperIO-s).
Additionally, there is ithwm driver based on the reverted sensors
import, but I am not sure how to integrate it given that we still lack
any sensors interface.

Discussed with:	imp, jhb
MFC after:	7 weeks
Differential Revision: https://reviews.freebsd.org/D8175
2019-07-01 17:05:41 +00:00
..
amd64 add superio driver 2019-07-01 17:05:41 +00:00
arm Display the approximate space needed when a minidump fails due to lack 2019-06-30 03:14:04 +00:00
arm64 Display the approximate space needed when a minidump fails due to lack 2019-06-30 03:14:04 +00:00
bsm Create new EINTEGRITY error with message "Integrity check failed". 2019-01-17 06:35:45 +00:00
cam Replay r349342 by imp accidentally reverted by r349352 2019-06-25 06:14:31 +00:00
cddl Avoid extra taskq_dispatch() calls by DMU. 2019-06-25 18:35:23 +00:00
compat LinuxKPI: Additions to rcu list. 2019-06-21 18:48:07 +00:00
conf add superio driver 2019-07-01 17:05:41 +00:00
contrib The RFC 3128 test should be made after the offset mask has been applied. 2019-06-30 22:32:33 +00:00
crypto aesni(4): Fix trivial type typo 2019-05-27 00:47:51 +00:00
ddb ddb show proc typo 2019-06-22 05:35:23 +00:00
dev add superio driver 2019-07-01 17:05:41 +00:00
dts arm64: Add support for NanoPI NEO2 2019-05-02 12:56:13 +00:00
fs Free all allocated unit IDs in cuse(3) after the client character 2019-06-25 11:46:01 +00:00
gdb
geom Remove NAND and NANDFS support 2019-06-25 04:50:09 +00:00
gnu dts: Import files from Linux 5.1 2019-05-08 19:27:30 +00:00
i386 add superio driver 2019-07-01 17:05:41 +00:00
isa
kern Use a consistent snapshot of the fd's rights in fget_mmap(). 2019-06-29 16:11:09 +00:00
kgssapi Make the warning intervals for deprecated crypto algorithms tunable. 2019-06-11 23:00:55 +00:00
libkern Separate kernel crc32() implementation to its own header (gsb_crc32.h) and 2019-06-17 19:49:08 +00:00
mips Display the approximate space needed when a minidump fails due to lack 2019-06-30 03:14:04 +00:00
modules add superio driver 2019-07-01 17:05:41 +00:00
net Support IFCAP_NOMAP in vlan(4). 2019-06-29 00:51:38 +00:00
net80211 Enhance the comment ieee80211_add_channel() to avoid a 2019-06-10 14:31:18 +00:00
netgraph Remove 'dir' argument in ng_ipfw_input, since ip_fw_args now has this info. 2019-03-14 22:30:05 +00:00
netinet Add an external mbuf buffer type that holds multiple unmapped pages. 2019-06-29 00:48:33 +00:00
netinet6 Add an external mbuf buffer type that holds multiple unmapped pages. 2019-06-29 00:48:33 +00:00
netipsec netipsec key_register: check for M_NOWAIT alloc failure 2019-06-25 15:43:52 +00:00
netpfil Convert all IPv4 and IPv6 multicast memberships into using a STAILQ 2019-06-25 11:54:41 +00:00
netsmb Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
nfs
nfsclient
nfsserver
nlm
ofed Fix prio vs. nonprio tagged traffic in RDMACM 2019-06-04 06:21:31 +00:00
opencrypto Move declaration of warninterval out from under COMPAT_FREEBSD32. 2019-06-11 23:28:07 +00:00
powerpc powerpc/booke: Handle misaligned floating point loads/stores as on AIM 2019-06-26 01:14:39 +00:00
riscv Display the approximate space needed when a minidump fails due to lack 2019-06-30 03:14:04 +00:00
rpc Fix malloc stats for the RPCSEC_GSS server code when DEBUG is enabled. 2019-04-04 01:23:06 +00:00
security Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
sparc64 sys: Remove DEV_RANDOM device option 2019-06-21 00:16:30 +00:00
sys upgrade the warning printf-s in bus accessors to KASSERT-s, take 2 2019-07-01 06:22:41 +00:00
teken Attempt to complete fixing programmable function keys for syscons. 2019-02-20 02:14:41 +00:00
tests Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
tools Add SDIO support. 2019-06-08 16:26:56 +00:00
ufs Remove references to splbio in ffs_softdep.c. 2019-06-26 16:28:42 +00:00
vm Remove a call to vm_map_simplify_entry from _vm_map_clip_start. 2019-06-30 02:08:13 +00:00
x86 Currently, MCA entries remain on an every-growing linked list. This means 2019-06-08 18:26:48 +00:00
xdr
xen xen: introduce a new way to setup event channel upcall 2019-01-30 11:34:52 +00:00
Makefile