05c9f26dff
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)
20 lines
908 B
Plaintext
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$
|