diff options
author | imp <imp@FreeBSD.org> | 2015-08-27 23:33:38 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2015-08-27 23:33:38 +0000 |
commit | 05c9f26dff59dbf912171e997071d42c9f2c866e (patch) | |
tree | 12bf0a866f497ef802ae3d9eb17b80d76cb085ae /sys/modules/ow | |
parent | 4ccf42e0ef431c29d97b7225534352fc1a517a98 (diff) | |
download | FreeBSD-src-05c9f26dff59dbf912171e997071d42c9f2c866e.zip FreeBSD-src-05c9f26dff59dbf912171e997071d42c9f2c866e.tar.gz |
New 1-Wire bus implementation. 1-Wire controller is abstracted, though
only gpiobus configured via FDT is supported. Bus enumeration is
supported. Devices are created for each device found. 1-Wire
temperature controllers are supported, but other drivers could be
written. Temperatures are polled and reported via a sysctl. Errors
are reported via sysctl counters. Mis-wired bus detection is included
for more trouble shooting. See ow(4), owc(4) and ow_temp(4) for
details of what's supported and known issues.
This has been tested on Raspberry Pi-B, Pi2 and Beagle Bone Black
with up to 7 devices.
Differential Revision: https://reviews.freebsd.org/D2956
Relnotes: yes
MFC after: 2 weeks
Reviewed by: loos@ (with many insightful comments)
Diffstat (limited to 'sys/modules/ow')
-rw-r--r-- | sys/modules/ow/Makefile | 8 | ||||
-rw-r--r-- | sys/modules/ow/ow/Makefile | 9 | ||||
-rw-r--r-- | sys/modules/ow/ow_temp/Makefile | 9 | ||||
-rw-r--r-- | sys/modules/ow/owc/Makefile | 10 |
4 files changed, 36 insertions, 0 deletions
diff --git a/sys/modules/ow/Makefile b/sys/modules/ow/Makefile new file mode 100644 index 0000000..13d7739 --- /dev/null +++ b/sys/modules/ow/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +SYSDIR?=${.CURDIR}/../.. +.include "${SYSDIR}/conf/kern.opts.mk" + +SUBDIR = ow owc ow_temp + +.include <bsd.subdir.mk> diff --git a/sys/modules/ow/ow/Makefile b/sys/modules/ow/ow/Makefile new file mode 100644 index 0000000..4963406 --- /dev/null +++ b/sys/modules/ow/ow/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../dev/ow + +KMOD= ow +SRCS= ow.c +SRCS+= own_if.c own_if.h owll_if.c owll_if.h bus_if.h device_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/ow/ow_temp/Makefile b/sys/modules/ow/ow_temp/Makefile new file mode 100644 index 0000000..6bd623e --- /dev/null +++ b/sys/modules/ow/ow_temp/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../dev/ow + +KMOD= ow_temp +SRCS= ow_temp.c +SRCS+= own_if.h bus_if.h device_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/ow/owc/Makefile b/sys/modules/ow/owc/Makefile new file mode 100644 index 0000000..4aaccf9 --- /dev/null +++ b/sys/modules/ow/owc/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../dev/ow + +KMOD= owc +SRCS= owc_gpiobus.c +SRCS+= gpio_if.h gpiobus_if.h owll_if.h ofw_bus_if.h bus_if.h device_if.h +SRCS+= opt_platform.h + +.include <bsd.kmod.mk> |