1# SPDX-License-Identifier: GPL-2.0-only
2#
3# 1-wire slaves configuration
4#
5
6menu "1-wire Slaves"
7
8config W1_SLAVE_THERM
9	tristate "Thermal family implementation"
10	help
11	  Say Y here if you want to connect 1-wire thermal sensors to your
12	  wire.
13
14config W1_SLAVE_SMEM
15	tristate "Simple 64bit memory family implementation"
16	help
17	  Say Y here if you want to connect 1-wire
18	  simple 64bit memory rom(ds2401/ds2411/ds1990*) to your wire.
19
20config W1_SLAVE_DS2405
21	tristate "DS2405 Addressable Switch"
22	help
23	  Say Y or M here if you want to use a DS2405 1-wire
24	  single-channel addressable switch.
25	  This device can also work as a single-channel
26	  binary remote sensor.
27
28config W1_SLAVE_DS2408
29	tristate "8-Channel Addressable Switch (IO Expander) 0x29 family support (DS2408)"
30	help
31	  Say Y here if you want to use a 1-wire
32	  DS2408 8-Channel Addressable Switch device support
33
34config W1_SLAVE_DS2408_READBACK
35	bool "Read-back values written to DS2408's output register"
36	depends on W1_SLAVE_DS2408
37	default y
38	help
39	  Enabling this will cause the driver to read back the values written
40	  to the chip's output register in order to detect errors.
41
42	  This is slower but useful when debugging chips and/or busses.
43
44config W1_SLAVE_DS2413
45	tristate "Dual Channel Addressable Switch 0x3a family support (DS2413)"
46	help
47	  Say Y here if you want to use a 1-wire
48	  DS2413 Dual Channel Addressable Switch device support
49
50config W1_SLAVE_DS2406
51	tristate "Dual Channel Addressable Switch 0x12 family support (DS2406)"
52	select CRC16
53	help
54	  Say Y or M here if you want to use a 1-wire
55	  DS2406 Dual Channel Addressable Switch.  EPROM read/write
56	  support for these devices is not implemented.
57
58config W1_SLAVE_DS2423
59	tristate "Counter 1-wire device (DS2423)"
60	select CRC16
61	help
62	  If you enable this you can read the counter values available
63	  in the DS2423 chipset from the w1_slave file under the
64	  sys file system.
65
66	  Say Y here if you want to use a 1-wire
67	  counter family device (DS2423).
68
69config W1_SLAVE_DS2805
70	tristate "112-byte EEPROM support (DS28E05)"
71	help
72	  Say Y here if you want to use a 1-wire
73	  is a 112-byte user-programmable EEPROM is
74          organized as 7 pages of 16 bytes each with 64bit
75          unique number. Requires OverDrive Speed to talk to.
76
77config W1_SLAVE_DS2430
78	tristate "256b EEPROM family support (DS2430)"
79	help
80	  Say Y here if you want to use a 1-wire 256bit EEPROM
81	  family device (DS2430).
82	  This EEPROM is organized as one page of 32 bytes for random
83	  access.
84
85config W1_SLAVE_DS2431
86	tristate "1kb EEPROM family support (DS2431)"
87	help
88	  Say Y here if you want to use a 1-wire
89	  1kb EEPROM family device (DS2431)
90
91config W1_SLAVE_DS2433
92	tristate "4kb EEPROM family support (DS2433)"
93	help
94	  Say Y here if you want to use a 1-wire
95	  4kb EEPROM family device (DS2433).
96
97config W1_SLAVE_DS2433_CRC
98	bool "Protect DS2433 data with a CRC16"
99	depends on W1_SLAVE_DS2433
100	select CRC16
101	help
102	  Say Y here to protect DS2433 data with a CRC16.
103	  Each block has 30 bytes of data and a two byte CRC16.
104	  Full block writes are only allowed if the CRC is valid.
105
106config W1_SLAVE_DS2438
107	tristate "DS2438 Smart Battery Monitor 0x26 family support"
108	help
109	  Say Y here if you want to use a 1-wire
110	  DS2438 Smart Battery Monitor device support
111
112config W1_SLAVE_DS250X
113	tristate "512b/1kb/16kb EPROM family support"
114	select CRC16
115	help
116	  Say Y here if you want to use a 1-wire
117	  512b/1kb/16kb EPROM family device (DS250x).
118
119config W1_SLAVE_DS2780
120	tristate "Dallas 2780 battery monitor chip"
121	help
122	  If you enable this you will have the DS2780 battery monitor
123	  chip support.
124
125	  The battery monitor chip is used in many batteries/devices
126	  as the one who is responsible for charging/discharging/monitoring
127	  Li+ batteries.
128
129	  If you are unsure, say N.
130
131config W1_SLAVE_DS2781
132	tristate "Dallas 2781 battery monitor chip"
133	help
134	  If you enable this you will have the DS2781 battery monitor
135	  chip support.
136
137	  The battery monitor chip is used in many batteries/devices
138	  as the one who is responsible for charging/discharging/monitoring
139	  Li+ batteries.
140
141	  If you are unsure, say N.
142
143config W1_SLAVE_DS28E04
144	tristate "4096-Bit Addressable 1-Wire EEPROM with PIO (DS28E04-100)"
145	select CRC16
146	help
147	  If you enable this you will have the DS28E04-100
148	  chip support.
149
150	  Say Y here if you want to use a 1-wire
151	  4kb EEPROM with PIO family device (DS28E04).
152
153	  If you are unsure, say N.
154
155config W1_SLAVE_DS28E17
156	tristate "1-wire-to-I2C master bridge (DS28E17)"
157	select CRC16
158	depends on I2C
159	help
160	  Say Y here if you want to use the DS28E17 1-wire-to-I2C master bridge.
161	  For each DS28E17 detected, a new I2C adapter is created within the
162	  kernel. I2C devices on that bus can be configured to be used by the
163	  kernel and userspace tools as on any other "native" I2C bus.
164
165	  This driver is also available as a module. If so, the module
166	  will be called w1_ds28e17.
167
168	  If you are unsure, say N.
169
170endmenu
171