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