a3c0880436
Add a UART 1-Wire bus driver. The driver utilizes the UART interface via the Serial Device Bus to create the 1-Wire timing patterns. The driver was tested on a "Raspberry Pi 3B" with a DS18B20 and on a "Variscite DART-6UL" with a DS18S20 temperature sensor. The 1-Wire timing pattern and the corresponding UART baud-rate with the interpretation of the transferred bytes are described in the document: Link: https://www.analog.com/en/technical-articles/using-a-uart-to-implement-a-1wire-bus-master.html In short, the UART peripheral must support full-duplex and operate in open-drain mode. The timing patterns are generated by a specific combination of baud-rate and transmitted byte, which corresponds to a 1-Wire read bit, write bit or reset. Signed-off-by: Christoph Winklhofer <cj.winklhofer@gmail.com> Link: https://lore.kernel.org/r/20240214-w1-uart-v7-3-6e21fa24e066@gmail.com [krzysztof: w1_uart_serdev_receive_buf() return type fixup] Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
16 lines
480 B
Makefile
16 lines
480 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for 1-wire bus master drivers.
|
|
#
|
|
|
|
obj-$(CONFIG_W1_MASTER_AMD_AXI) += amd_axi_w1.o
|
|
obj-$(CONFIG_W1_MASTER_MATROX) += matrox_w1.o
|
|
obj-$(CONFIG_W1_MASTER_DS2490) += ds2490.o
|
|
obj-$(CONFIG_W1_MASTER_DS2482) += ds2482.o
|
|
obj-$(CONFIG_W1_MASTER_MXC) += mxc_w1.o
|
|
|
|
obj-$(CONFIG_W1_MASTER_GPIO) += w1-gpio.o
|
|
obj-$(CONFIG_HDQ_MASTER_OMAP) += omap_hdq.o
|
|
obj-$(CONFIG_W1_MASTER_SGI) += sgi_w1.o
|
|
obj-$(CONFIG_W1_MASTER_UART) += w1-uart.o
|