162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# 1-wire slaves configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_cimenu "1-wire Slaves"
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciconfig W1_SLAVE_THERM
962306a36Sopenharmony_ci	tristate "Thermal family implementation"
1062306a36Sopenharmony_ci	help
1162306a36Sopenharmony_ci	  Say Y here if you want to connect 1-wire thermal sensors to your
1262306a36Sopenharmony_ci	  wire.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciconfig W1_SLAVE_SMEM
1562306a36Sopenharmony_ci	tristate "Simple 64bit memory family implementation"
1662306a36Sopenharmony_ci	help
1762306a36Sopenharmony_ci	  Say Y here if you want to connect 1-wire
1862306a36Sopenharmony_ci	  simple 64bit memory rom(ds2401/ds2411/ds1990*) to your wire.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciconfig W1_SLAVE_DS2405
2162306a36Sopenharmony_ci	tristate "DS2405 Addressable Switch"
2262306a36Sopenharmony_ci	help
2362306a36Sopenharmony_ci	  Say Y or M here if you want to use a DS2405 1-wire
2462306a36Sopenharmony_ci	  single-channel addressable switch.
2562306a36Sopenharmony_ci	  This device can also work as a single-channel
2662306a36Sopenharmony_ci	  binary remote sensor.
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciconfig W1_SLAVE_DS2408
2962306a36Sopenharmony_ci	tristate "8-Channel Addressable Switch (IO Expander) 0x29 family support (DS2408)"
3062306a36Sopenharmony_ci	help
3162306a36Sopenharmony_ci	  Say Y here if you want to use a 1-wire
3262306a36Sopenharmony_ci	  DS2408 8-Channel Addressable Switch device support
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciconfig W1_SLAVE_DS2408_READBACK
3562306a36Sopenharmony_ci	bool "Read-back values written to DS2408's output register"
3662306a36Sopenharmony_ci	depends on W1_SLAVE_DS2408
3762306a36Sopenharmony_ci	default y
3862306a36Sopenharmony_ci	help
3962306a36Sopenharmony_ci	  Enabling this will cause the driver to read back the values written
4062306a36Sopenharmony_ci	  to the chip's output register in order to detect errors.
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci	  This is slower but useful when debugging chips and/or busses.
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ciconfig W1_SLAVE_DS2413
4562306a36Sopenharmony_ci	tristate "Dual Channel Addressable Switch 0x3a family support (DS2413)"
4662306a36Sopenharmony_ci	help
4762306a36Sopenharmony_ci	  Say Y here if you want to use a 1-wire
4862306a36Sopenharmony_ci	  DS2413 Dual Channel Addressable Switch device support
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ciconfig W1_SLAVE_DS2406
5162306a36Sopenharmony_ci	tristate "Dual Channel Addressable Switch 0x12 family support (DS2406)"
5262306a36Sopenharmony_ci	select CRC16
5362306a36Sopenharmony_ci	help
5462306a36Sopenharmony_ci	  Say Y or M here if you want to use a 1-wire
5562306a36Sopenharmony_ci	  DS2406 Dual Channel Addressable Switch.  EPROM read/write
5662306a36Sopenharmony_ci	  support for these devices is not implemented.
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ciconfig W1_SLAVE_DS2423
5962306a36Sopenharmony_ci	tristate "Counter 1-wire device (DS2423)"
6062306a36Sopenharmony_ci	select CRC16
6162306a36Sopenharmony_ci	help
6262306a36Sopenharmony_ci	  If you enable this you can read the counter values available
6362306a36Sopenharmony_ci	  in the DS2423 chipset from the w1_slave file under the
6462306a36Sopenharmony_ci	  sys file system.
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci	  Say Y here if you want to use a 1-wire
6762306a36Sopenharmony_ci	  counter family device (DS2423).
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ciconfig W1_SLAVE_DS2805
7062306a36Sopenharmony_ci	tristate "112-byte EEPROM support (DS28E05)"
7162306a36Sopenharmony_ci	help
7262306a36Sopenharmony_ci	  Say Y here if you want to use a 1-wire
7362306a36Sopenharmony_ci	  is a 112-byte user-programmable EEPROM is
7462306a36Sopenharmony_ci	  organized as 7 pages of 16 bytes each with 64bit
7562306a36Sopenharmony_ci	  unique number. Requires OverDrive Speed to talk to.
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ciconfig W1_SLAVE_DS2430
7862306a36Sopenharmony_ci	tristate "256b EEPROM family support (DS2430)"
7962306a36Sopenharmony_ci	help
8062306a36Sopenharmony_ci	  Say Y here if you want to use a 1-wire 256bit EEPROM
8162306a36Sopenharmony_ci	  family device (DS2430).
8262306a36Sopenharmony_ci	  This EEPROM is organized as one page of 32 bytes for random
8362306a36Sopenharmony_ci	  access.
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ciconfig W1_SLAVE_DS2431
8662306a36Sopenharmony_ci	tristate "1kb EEPROM family support (DS2431)"
8762306a36Sopenharmony_ci	help
8862306a36Sopenharmony_ci	  Say Y here if you want to use a 1-wire
8962306a36Sopenharmony_ci	  1kb EEPROM family device (DS2431)
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ciconfig W1_SLAVE_DS2433
9262306a36Sopenharmony_ci	tristate "4kb EEPROM family support (DS2433)"
9362306a36Sopenharmony_ci	help
9462306a36Sopenharmony_ci	  Say Y here if you want to use a 1-wire
9562306a36Sopenharmony_ci	  4kb EEPROM family device (DS2433).
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ciconfig W1_SLAVE_DS2433_CRC
9862306a36Sopenharmony_ci	bool "Protect DS2433 data with a CRC16"
9962306a36Sopenharmony_ci	depends on W1_SLAVE_DS2433
10062306a36Sopenharmony_ci	select CRC16
10162306a36Sopenharmony_ci	help
10262306a36Sopenharmony_ci	  Say Y here to protect DS2433 data with a CRC16.
10362306a36Sopenharmony_ci	  Each block has 30 bytes of data and a two byte CRC16.
10462306a36Sopenharmony_ci	  Full block writes are only allowed if the CRC is valid.
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ciconfig W1_SLAVE_DS2438
10762306a36Sopenharmony_ci	tristate "DS2438 Smart Battery Monitor 0x26 family support"
10862306a36Sopenharmony_ci	help
10962306a36Sopenharmony_ci	  Say Y here if you want to use a 1-wire
11062306a36Sopenharmony_ci	  DS2438 Smart Battery Monitor device support
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ciconfig W1_SLAVE_DS250X
11362306a36Sopenharmony_ci	tristate "512b/1kb/16kb EPROM family support"
11462306a36Sopenharmony_ci	select CRC16
11562306a36Sopenharmony_ci	help
11662306a36Sopenharmony_ci	  Say Y here if you want to use a 1-wire
11762306a36Sopenharmony_ci	  512b/1kb/16kb EPROM family device (DS250x).
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ciconfig W1_SLAVE_DS2780
12062306a36Sopenharmony_ci	tristate "Dallas 2780 battery monitor chip"
12162306a36Sopenharmony_ci	help
12262306a36Sopenharmony_ci	  If you enable this you will have the DS2780 battery monitor
12362306a36Sopenharmony_ci	  chip support.
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci	  The battery monitor chip is used in many batteries/devices
12662306a36Sopenharmony_ci	  as the one who is responsible for charging/discharging/monitoring
12762306a36Sopenharmony_ci	  Li+ batteries.
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci	  If you are unsure, say N.
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ciconfig W1_SLAVE_DS2781
13262306a36Sopenharmony_ci	tristate "Dallas 2781 battery monitor chip"
13362306a36Sopenharmony_ci	help
13462306a36Sopenharmony_ci	  If you enable this you will have the DS2781 battery monitor
13562306a36Sopenharmony_ci	  chip support.
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci	  The battery monitor chip is used in many batteries/devices
13862306a36Sopenharmony_ci	  as the one who is responsible for charging/discharging/monitoring
13962306a36Sopenharmony_ci	  Li+ batteries.
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci	  If you are unsure, say N.
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ciconfig W1_SLAVE_DS28E04
14462306a36Sopenharmony_ci	tristate "4096-Bit Addressable 1-Wire EEPROM with PIO (DS28E04-100)"
14562306a36Sopenharmony_ci	select CRC16
14662306a36Sopenharmony_ci	help
14762306a36Sopenharmony_ci	  If you enable this you will have the DS28E04-100
14862306a36Sopenharmony_ci	  chip support.
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci	  Say Y here if you want to use a 1-wire
15162306a36Sopenharmony_ci	  4kb EEPROM with PIO family device (DS28E04).
15262306a36Sopenharmony_ci
15362306a36Sopenharmony_ci	  If you are unsure, say N.
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_ciconfig W1_SLAVE_DS28E17
15662306a36Sopenharmony_ci	tristate "1-wire-to-I2C master bridge (DS28E17)"
15762306a36Sopenharmony_ci	select CRC16
15862306a36Sopenharmony_ci	depends on I2C
15962306a36Sopenharmony_ci	help
16062306a36Sopenharmony_ci	  Say Y here if you want to use the DS28E17 1-wire-to-I2C master bridge.
16162306a36Sopenharmony_ci	  For each DS28E17 detected, a new I2C adapter is created within the
16262306a36Sopenharmony_ci	  kernel. I2C devices on that bus can be configured to be used by the
16362306a36Sopenharmony_ci	  kernel and userspace tools as on any other "native" I2C bus.
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ci	  This driver is also available as a module. If so, the module
16662306a36Sopenharmony_ci	  will be called w1_ds28e17.
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ci	  If you are unsure, say N.
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ciendmenu
171