freebsd-dev/sys/conf
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
..
config.mk Remove IEEE80211_AMPDU_AGE config option. 2019-01-20 15:17:56 +00:00
dtb.build.mk fdt: Fix installation of aarch64 dtb 2019-05-02 16:56:03 +00:00
dtb.mk Allow kernel config to specify DTS/DTSO to build, and out-of-tree support 2019-03-26 02:45:23 +00:00
files Add an external mbuf buffer type that holds multiple unmapped pages. 2019-06-29 00:48:33 +00:00
files.amd64 add superio driver 2019-07-01 17:05:41 +00:00
files.arm Allow compiling ukbdmap.h on arm, since it appears to work fine. 2019-06-23 21:17:41 +00:00
files.arm64 sys: Remove DEV_RANDOM device option 2019-06-21 00:16:30 +00:00
files.i386 add superio driver 2019-07-01 17:05:41 +00:00
files.mips Move scterm_teken.c from 6 MD files lists to the MI files list so that it 2019-02-21 17:31:33 +00:00
files.powerpc Remove NAND and NANDFS support 2019-06-25 04:50:09 +00:00
files.riscv Connect Xilinx AXI drivers and Cadence Ethernet MAC to the RISC-V build. 2019-05-08 16:06:54 +00:00
files.sparc64 Move scterm_teken.c from 6 MD files lists to the MI files list so that it 2019-02-21 17:31:33 +00:00
kern.mk Add an external mbuf buffer type that holds multiple unmapped pages. 2019-06-29 00:48:33 +00:00
kern.opts.mk Remove NAND and NANDFS support 2019-06-25 04:50:09 +00:00
kern.post.mk Fix build race with machine links and genoffset.o. 2019-05-10 18:09:27 +00:00
kern.pre.mk Specify -z notext when building with -z ifunc-noplt. 2019-05-14 18:26:39 +00:00
kmod_syms_prefix.awk Add the infrastructure to support loading multiple versions of TCP 2017-06-08 20:41:28 +00:00
kmod_syms.awk
kmod.mk Restore genassym.o to CLEANFILES. 2019-06-11 23:35:34 +00:00
ldscript.amd64 Expose the kernel's build-ID through sysctl 2019-06-04 13:07:10 +00:00
ldscript.arm Expose the kernel's build-ID through sysctl 2019-06-04 13:07:10 +00:00
ldscript.arm64 Expose the kernel's build-ID through sysctl 2019-06-04 13:07:10 +00:00
ldscript.i386 Expose the kernel's build-ID through sysctl 2019-06-04 13:07:10 +00:00
ldscript.mips Expose the kernel's build-ID through sysctl 2019-06-04 13:07:10 +00:00
ldscript.mips.cfe Expose the kernel's build-ID through sysctl 2019-06-04 13:07:10 +00:00
ldscript.mips.mips64 Expose the kernel's build-ID through sysctl 2019-06-04 13:07:10 +00:00
ldscript.mips.octeon1 Expose the kernel's build-ID through sysctl 2019-06-04 13:07:10 +00:00
ldscript.powerpc Expose the kernel's build-ID through sysctl 2019-06-04 13:07:10 +00:00
ldscript.powerpc64 Expose the kernel's build-ID through sysctl 2019-06-04 13:07:10 +00:00
ldscript.powerpcspe Expose the kernel's build-ID through sysctl 2019-06-04 13:07:10 +00:00
ldscript.riscv Fix global pointer relaxations in the RISC-V kernel 2019-06-09 15:43:38 +00:00
ldscript.set_padding Fix dpcpu and vnet panics with complex types at the end of the section. 2019-06-08 17:44:42 +00:00
ldscript.sparc64 Expose the kernel's build-ID through sysctl 2019-06-04 13:07:10 +00:00
Makefile.amd64 Retire CLANG_NO_IAS34 2018-11-01 23:11:47 +00:00
Makefile.arm Only build the cache handling code we need when building the arm ELF 2018-07-28 12:50:09 +00:00
Makefile.arm64 Revert r336353 completely based on protest; compatibility shims incoming 2018-07-17 14:11:30 +00:00
Makefile.i386 Retire CLANG_NO_IAS34 2018-11-01 23:11:47 +00:00
Makefile.mips Revert r336353 completely based on protest; compatibility shims incoming 2018-07-17 14:11:30 +00:00
Makefile.powerpc Revert r336353 completely based on protest; compatibility shims incoming 2018-07-17 14:11:30 +00:00
Makefile.riscv Revert r336353 completely based on protest; compatibility shims incoming 2018-07-17 14:11:30 +00:00
Makefile.sparc64 Revert r336353 completely based on protest; compatibility shims incoming 2018-07-17 14:11:30 +00:00
makeLINT.mk Build an armv7 LINT kernel in addition to armv5 LINT. You might think this 2019-06-24 01:42:09 +00:00
makeLINT.sed
newvers.sh Defer evaluation of modified until after it's set 2019-05-31 22:57:20 +00:00
NOTES Add pwm devices to NOTES. 2019-06-24 02:39:56 +00:00
options Add support for extended descriptor format to Altera mSGDMA driver. 2019-06-27 18:08:18 +00:00
options.amd64 Remove iBCS2, part2: general kernel 2018-12-19 21:57:58 +00:00
options.arm Remove now the cow unused CPU_ARM9 and CPU_FA526 options. These are for 2018-07-28 11:00:45 +00:00
options.arm64 arm64: Add new SoC type MARVELL_8K 2018-12-12 21:58:30 +00:00
options.i386 i386: Merge PAE and non-PAE pmaps into same kernel. 2019-01-30 02:07:13 +00:00
options.mips Add SMP support for BERI CPU. 2018-04-12 17:43:19 +00:00
options.powerpc Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
options.riscv o Add driver for PLIC (Platform-Level Interrupt Controller) device. 2018-06-12 17:45:15 +00:00
options.sparc64
systags.sh sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
WITHOUT_SOURCELESS
WITHOUT_SOURCELESS_HOST
WITHOUT_SOURCELESS_UCODE Remove adv(4) and adw(4) 2018-10-22 02:34:47 +00:00