freebsd-skq/sys/dev/ow/README.txt
imp 05c9f26dff 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)
2015-08-27 23:33:38 +00:00

20 lines
908 B
Plaintext

Quick Design Document for 1-wire bus
In new bus terms, 1-wire devices are attached to 1-wire buses (ow)
which are attached to a one wire bridge (owc).
The implementation follows the terminology used in the Maxim AN927
Application note which defines the 1-wire bus as implemented for the
iButton product. This is considered to be the canonical definition of
the 1-wire bus. This means that the 1-wire bridge will implement the
owll(9) interface. ow is one wire. ll is for Link Level to mirror the ISO
stack terminology used by AN927. The 1-wire bus is implemented in the ow(4)
device, which implements the own(9) interface (n for network, the layer
described in the AN927). The presentation layer and above is the
responsibility of the client device drivers to implement.
Client drivers may only call the own(9) interface. The ow(4) driver
calls the owll(9) interface and implements the own(9).
$FreeBSD$