linux/drivers/w1/masters
Christoph Winklhofer a3c0880436 w1: add UART w1 bus driver
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>
2024-02-15 15:02:33 +01:00
..
amd_axi_w1.c w1: amd_axi_w1: Explicitly include correct DT includes 2023-12-08 08:35:25 +01:00
ds2482.c w1: ds2482: Switch back to use struct i2c_driver's .probe() 2023-09-13 10:48:42 +02:00
ds2490.c w1: ds2490: support block sizes larger than 128 bytes in ds_read_block 2023-12-20 09:25:23 +01:00
Kconfig w1: add UART w1 bus driver 2024-02-15 15:02:33 +01:00
Makefile w1: add UART w1 bus driver 2024-02-15 15:02:33 +01:00
matrox_w1.c w1: matrox: remove unnecessary ENOMEM messages 2023-04-20 14:15:07 +02:00
mxc_w1.c
omap_hdq.c w1: omap-hdq: remove unnecessary ENOMEM messages 2023-04-20 14:15:07 +02:00
sgi_w1.c w1: sgi: move from strlcpy with unused retval to strscpy 2023-05-08 08:14:49 +02:00
w1-gpio.c w1: gpio: rename pointer to driver data from pdata to ddata 2023-12-07 14:28:36 +01:00
w1-uart.c w1: add UART w1 bus driver 2024-02-15 15:02:33 +01:00