18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# 1-wire slaves configuration
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_cimenu "1-wire Slaves"
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ciconfig W1_SLAVE_THERM
98c2ecf20Sopenharmony_ci	tristate "Thermal family implementation"
108c2ecf20Sopenharmony_ci	help
118c2ecf20Sopenharmony_ci	  Say Y here if you want to connect 1-wire thermal sensors to your
128c2ecf20Sopenharmony_ci	  wire.
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ciconfig W1_SLAVE_SMEM
158c2ecf20Sopenharmony_ci	tristate "Simple 64bit memory family implementation"
168c2ecf20Sopenharmony_ci	help
178c2ecf20Sopenharmony_ci	  Say Y here if you want to connect 1-wire
188c2ecf20Sopenharmony_ci	  simple 64bit memory rom(ds2401/ds2411/ds1990*) to your wire.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciconfig W1_SLAVE_DS2405
218c2ecf20Sopenharmony_ci	tristate "DS2405 Addressable Switch"
228c2ecf20Sopenharmony_ci	help
238c2ecf20Sopenharmony_ci	  Say Y or M here if you want to use a DS2405 1-wire
248c2ecf20Sopenharmony_ci	  single-channel addressable switch.
258c2ecf20Sopenharmony_ci	  This device can also work as a single-channel
268c2ecf20Sopenharmony_ci	  binary remote sensor.
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciconfig W1_SLAVE_DS2408
298c2ecf20Sopenharmony_ci	tristate "8-Channel Addressable Switch (IO Expander) 0x29 family support (DS2408)"
308c2ecf20Sopenharmony_ci	help
318c2ecf20Sopenharmony_ci	  Say Y here if you want to use a 1-wire
328c2ecf20Sopenharmony_ci	  DS2408 8-Channel Addressable Switch device support
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ciconfig W1_SLAVE_DS2408_READBACK
358c2ecf20Sopenharmony_ci	bool "Read-back values written to DS2408's output register"
368c2ecf20Sopenharmony_ci	depends on W1_SLAVE_DS2408
378c2ecf20Sopenharmony_ci	default y
388c2ecf20Sopenharmony_ci	help
398c2ecf20Sopenharmony_ci	  Enabling this will cause the driver to read back the values written
408c2ecf20Sopenharmony_ci	  to the chip's output register in order to detect errors.
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci	  This is slower but useful when debugging chips and/or busses.
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ciconfig W1_SLAVE_DS2413
458c2ecf20Sopenharmony_ci	tristate "Dual Channel Addressable Switch 0x3a family support (DS2413)"
468c2ecf20Sopenharmony_ci	help
478c2ecf20Sopenharmony_ci	  Say Y here if you want to use a 1-wire
488c2ecf20Sopenharmony_ci	  DS2413 Dual Channel Addressable Switch device support
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ciconfig W1_SLAVE_DS2406
518c2ecf20Sopenharmony_ci	tristate "Dual Channel Addressable Switch 0x12 family support (DS2406)"
528c2ecf20Sopenharmony_ci	select CRC16
538c2ecf20Sopenharmony_ci	help
548c2ecf20Sopenharmony_ci	  Say Y or M here if you want to use a 1-wire
558c2ecf20Sopenharmony_ci	  DS2406 Dual Channel Addressable Switch.  EPROM read/write
568c2ecf20Sopenharmony_ci	  support for these devices is not implemented.
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ciconfig W1_SLAVE_DS2423
598c2ecf20Sopenharmony_ci	tristate "Counter 1-wire device (DS2423)"
608c2ecf20Sopenharmony_ci	select CRC16
618c2ecf20Sopenharmony_ci	help
628c2ecf20Sopenharmony_ci	  If you enable this you can read the counter values available
638c2ecf20Sopenharmony_ci	  in the DS2423 chipset from the w1_slave file under the
648c2ecf20Sopenharmony_ci	  sys file system.
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci	  Say Y here if you want to use a 1-wire
678c2ecf20Sopenharmony_ci	  counter family device (DS2423).
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ciconfig W1_SLAVE_DS2805
708c2ecf20Sopenharmony_ci	tristate "112-byte EEPROM support (DS28E05)"
718c2ecf20Sopenharmony_ci	help
728c2ecf20Sopenharmony_ci	  Say Y here if you want to use a 1-wire
738c2ecf20Sopenharmony_ci	  is a 112-byte user-programmable EEPROM is
748c2ecf20Sopenharmony_ci          organized as 7 pages of 16 bytes each with 64bit
758c2ecf20Sopenharmony_ci          unique number. Requires OverDrive Speed to talk to.
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ciconfig W1_SLAVE_DS2430
788c2ecf20Sopenharmony_ci	tristate "256b EEPROM family support (DS2430)"
798c2ecf20Sopenharmony_ci	help
808c2ecf20Sopenharmony_ci	  Say Y here if you want to use a 1-wire 256bit EEPROM
818c2ecf20Sopenharmony_ci	  family device (DS2430).
828c2ecf20Sopenharmony_ci	  This EEPROM is organized as one page of 32 bytes for random
838c2ecf20Sopenharmony_ci	  access.
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ciconfig W1_SLAVE_DS2431
868c2ecf20Sopenharmony_ci	tristate "1kb EEPROM family support (DS2431)"
878c2ecf20Sopenharmony_ci	help
888c2ecf20Sopenharmony_ci	  Say Y here if you want to use a 1-wire
898c2ecf20Sopenharmony_ci	  1kb EEPROM family device (DS2431)
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ciconfig W1_SLAVE_DS2433
928c2ecf20Sopenharmony_ci	tristate "4kb EEPROM family support (DS2433)"
938c2ecf20Sopenharmony_ci	help
948c2ecf20Sopenharmony_ci	  Say Y here if you want to use a 1-wire
958c2ecf20Sopenharmony_ci	  4kb EEPROM family device (DS2433).
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ciconfig W1_SLAVE_DS2433_CRC
988c2ecf20Sopenharmony_ci	bool "Protect DS2433 data with a CRC16"
998c2ecf20Sopenharmony_ci	depends on W1_SLAVE_DS2433
1008c2ecf20Sopenharmony_ci	select CRC16
1018c2ecf20Sopenharmony_ci	help
1028c2ecf20Sopenharmony_ci	  Say Y here to protect DS2433 data with a CRC16.
1038c2ecf20Sopenharmony_ci	  Each block has 30 bytes of data and a two byte CRC16.
1048c2ecf20Sopenharmony_ci	  Full block writes are only allowed if the CRC is valid.
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ciconfig W1_SLAVE_DS2438
1078c2ecf20Sopenharmony_ci	tristate "DS2438 Smart Battery Monitor 0x26 family support"
1088c2ecf20Sopenharmony_ci	help
1098c2ecf20Sopenharmony_ci	  Say Y here if you want to use a 1-wire
1108c2ecf20Sopenharmony_ci	  DS2438 Smart Battery Monitor device support
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ciconfig W1_SLAVE_DS250X
1138c2ecf20Sopenharmony_ci	tristate "512b/1kb/16kb EPROM family support"
1148c2ecf20Sopenharmony_ci	select CRC16
1158c2ecf20Sopenharmony_ci	help
1168c2ecf20Sopenharmony_ci	  Say Y here if you want to use a 1-wire
1178c2ecf20Sopenharmony_ci	  512b/1kb/16kb EPROM family device (DS250x).
1188c2ecf20Sopenharmony_ci
1198c2ecf20Sopenharmony_ciconfig W1_SLAVE_DS2780
1208c2ecf20Sopenharmony_ci	tristate "Dallas 2780 battery monitor chip"
1218c2ecf20Sopenharmony_ci	help
1228c2ecf20Sopenharmony_ci	  If you enable this you will have the DS2780 battery monitor
1238c2ecf20Sopenharmony_ci	  chip support.
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ci	  The battery monitor chip is used in many batteries/devices
1268c2ecf20Sopenharmony_ci	  as the one who is responsible for charging/discharging/monitoring
1278c2ecf20Sopenharmony_ci	  Li+ batteries.
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ci	  If you are unsure, say N.
1308c2ecf20Sopenharmony_ci
1318c2ecf20Sopenharmony_ciconfig W1_SLAVE_DS2781
1328c2ecf20Sopenharmony_ci	tristate "Dallas 2781 battery monitor chip"
1338c2ecf20Sopenharmony_ci	help
1348c2ecf20Sopenharmony_ci	  If you enable this you will have the DS2781 battery monitor
1358c2ecf20Sopenharmony_ci	  chip support.
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ci	  The battery monitor chip is used in many batteries/devices
1388c2ecf20Sopenharmony_ci	  as the one who is responsible for charging/discharging/monitoring
1398c2ecf20Sopenharmony_ci	  Li+ batteries.
1408c2ecf20Sopenharmony_ci
1418c2ecf20Sopenharmony_ci	  If you are unsure, say N.
1428c2ecf20Sopenharmony_ci
1438c2ecf20Sopenharmony_ciconfig W1_SLAVE_DS28E04
1448c2ecf20Sopenharmony_ci	tristate "4096-Bit Addressable 1-Wire EEPROM with PIO (DS28E04-100)"
1458c2ecf20Sopenharmony_ci	select CRC16
1468c2ecf20Sopenharmony_ci	help
1478c2ecf20Sopenharmony_ci	  If you enable this you will have the DS28E04-100
1488c2ecf20Sopenharmony_ci	  chip support.
1498c2ecf20Sopenharmony_ci
1508c2ecf20Sopenharmony_ci	  Say Y here if you want to use a 1-wire
1518c2ecf20Sopenharmony_ci	  4kb EEPROM with PIO family device (DS28E04).
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ci	  If you are unsure, say N.
1548c2ecf20Sopenharmony_ci
1558c2ecf20Sopenharmony_ciconfig W1_SLAVE_DS28E17
1568c2ecf20Sopenharmony_ci	tristate "1-wire-to-I2C master bridge (DS28E17)"
1578c2ecf20Sopenharmony_ci	select CRC16
1588c2ecf20Sopenharmony_ci	depends on I2C
1598c2ecf20Sopenharmony_ci	help
1608c2ecf20Sopenharmony_ci	  Say Y here if you want to use the DS28E17 1-wire-to-I2C master bridge.
1618c2ecf20Sopenharmony_ci	  For each DS28E17 detected, a new I2C adapter is created within the
1628c2ecf20Sopenharmony_ci	  kernel. I2C devices on that bus can be configured to be used by the
1638c2ecf20Sopenharmony_ci	  kernel and userspace tools as on any other "native" I2C bus.
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ci	  This driver is also available as a module. If so, the module
1668c2ecf20Sopenharmony_ci	  will be called w1_ds28e17.
1678c2ecf20Sopenharmony_ci
1688c2ecf20Sopenharmony_ci	  If you are unsure, say N.
1698c2ecf20Sopenharmony_ci
1708c2ecf20Sopenharmony_ciendmenu
171