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>
93 lines
2.5 KiB
Plaintext
93 lines
2.5 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# 1-wire bus master configuration
|
|
#
|
|
|
|
menu "1-wire Bus Masters"
|
|
|
|
config W1_MASTER_AMD_AXI
|
|
tristate "AMD AXI 1-wire bus host"
|
|
help
|
|
Say Y here is you want to support the AMD AXI 1-wire IP core.
|
|
This driver makes use of the programmable logic IP to perform
|
|
correctly timed 1 wire transactions without relying on GPIO timing
|
|
through the kernel.
|
|
|
|
This driver can also be built as a module. If so, the module will be
|
|
called amd_w1_axi.
|
|
|
|
config W1_MASTER_MATROX
|
|
tristate "Matrox G400 transport layer for 1-wire"
|
|
depends on PCI
|
|
help
|
|
Say Y here if you want to communicate with your 1-wire devices
|
|
using Matrox's G400 GPIO pins.
|
|
|
|
This support is also available as a module. If so, the module
|
|
will be called matrox_w1.
|
|
|
|
config W1_MASTER_DS2490
|
|
tristate "DS2490 USB <-> W1 transport layer for 1-wire"
|
|
depends on USB
|
|
help
|
|
Say Y here if you want to have a driver for DS2490 based USB <-> W1 bridges,
|
|
for example DS9490*.
|
|
|
|
This support is also available as a module. If so, the module
|
|
will be called ds2490.
|
|
|
|
config W1_MASTER_DS2482
|
|
tristate "Maxim DS2482 I2C to 1-Wire bridge"
|
|
depends on I2C
|
|
help
|
|
If you say yes here you get support for the Maxim DS2482
|
|
I2C to 1-Wire bridge.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called ds2482.
|
|
|
|
config W1_MASTER_MXC
|
|
tristate "Freescale MXC 1-wire busmaster"
|
|
depends on ARCH_MXC || COMPILE_TEST
|
|
help
|
|
Say Y here to enable MXC 1-wire host
|
|
|
|
config W1_MASTER_GPIO
|
|
tristate "GPIO 1-wire busmaster"
|
|
depends on GPIOLIB || COMPILE_TEST
|
|
help
|
|
Say Y here if you want to communicate with your 1-wire devices using
|
|
GPIO pins. This driver uses the GPIO API to control the wire.
|
|
|
|
This support is also available as a module. If so, the module
|
|
will be called w1-gpio.
|
|
|
|
config HDQ_MASTER_OMAP
|
|
tristate "OMAP HDQ driver"
|
|
depends on ARCH_OMAP || COMPILE_TEST
|
|
help
|
|
Say Y here if you want support for the 1-wire or HDQ Interface
|
|
on an OMAP processor.
|
|
|
|
config W1_MASTER_SGI
|
|
tristate "SGI ASIC driver"
|
|
help
|
|
Say Y here if you want support for your 1-wire devices using
|
|
SGI ASIC 1-Wire interface
|
|
|
|
This support is also available as a module. If so, the module
|
|
will be called sgi_w1.
|
|
|
|
config W1_MASTER_UART
|
|
tristate "UART 1-wire driver"
|
|
depends on SERIAL_DEV_BUS
|
|
help
|
|
Say Y here if you want to communicate with your 1-wire devices using
|
|
UART interface.
|
|
|
|
This support is also available as a module. If so, the module
|
|
will be called w1-uart.
|
|
|
|
endmenu
|
|
|