1#
2# Copyright (C) 2008-2010 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7
8W1_MENU:=W1 support
9W1_MASTERS_DIR:=$(LINUX_DIR)/drivers/w1/masters
10W1_SLAVES_DIR:=$(LINUX_DIR)/drivers/w1/slaves
11
12define KernelPackage/w1
13  SUBMENU:=$(W1_MENU)
14  TITLE:=Dallas's 1-wire support
15  KCONFIG:=CONFIG_W1
16  FILES:=$(LINUX_DIR)/drivers/w1/wire.ko
17endef
18
19define KernelPackage/w1/description
20 Kernel module for Dallas's 1-wire support
21endef
22
23$(eval $(call KernelPackage,w1))
24
25
26define AddDepends/w1
27  SUBMENU:=$(W1_MENU)
28  DEPENDS+=kmod-w1 $(1)
29endef
30
31
32#
33# 1-wire masters
34#
35define KernelPackage/w1-master-gpio
36  TITLE:=GPIO 1-wire bus master driver
37  DEPENDS:=@GPIO_SUPPORT
38  KCONFIG:=CONFIG_W1_MASTER_GPIO
39  FILES:=$(W1_MASTERS_DIR)/w1-gpio.ko
40  AUTOLOAD:=$(call AutoProbe,w1-gpio)
41  $(call AddDepends/w1)
42endef
43
44define KernelPackage/w1-master-gpio/description
45 Kernel module for the GPIO 1-wire bus master driver
46endef
47
48$(eval $(call KernelPackage,w1-master-gpio))
49
50define KernelPackage/w1-master-ds2482
51  TITLE:=DS2482 1-wire i2c bus master driver
52  KCONFIG:=CONFIG_W1_MASTER_DS2482
53  FILES:=$(W1_MASTERS_DIR)/ds2482.ko
54  AUTOLOAD:=$(call AutoProbe,ds2482)
55  $(call AddDepends/w1,+kmod-i2c-core)
56endef
57
58define KernelPackage/w1-master-ds2482/description
59 Kernel module for the DS2482 i2c 1-wire bus master driver
60 NOTE: Init with: echo ds2482 0x18 > /sys/bus/i2c/devices/i2c-0/new_device
61 or use owfs
62endef
63
64$(eval $(call KernelPackage,w1-master-ds2482))
65
66
67define KernelPackage/w1-master-ds2490
68  TITLE:=DS2490 1-wire usb bus master driver
69  DEPENDS:=@USB_SUPPORT +kmod-usb-core
70  KCONFIG:=CONFIG_W1_MASTER_DS2490
71  FILES:=$(W1_MASTERS_DIR)/ds2490.ko
72  AUTOLOAD:=$(call AutoProbe,ds2490)
73  $(call AddDepends/w1)
74endef
75
76define KernelPackage/w1-master-ds2490/description
77 Kernel module for the DS2490 usb 1-wire bus master driver
78endef
79
80$(eval $(call KernelPackage,w1-master-ds2490))
81
82
83define KernelPackage/w1-master-mxc
84  TITLE:=Freescale MXC 1-wire busmaster
85  DEPENDS:=@(TARGET_mxs||TARGET_imx6)
86  KCONFIG:=CONFIG_W1_MASTER_MXC
87  FILES:=$(W1_MASTERS_DIR)/mxc_w1.ko
88  AUTOLOAD:=$(call AutoProbe,mxc_w1)
89  $(call AddDepends/w1)
90endef
91
92define KernelPackage/w1-master-mxc/description
93 Kernel module for 1-wire Freescale MXC 1-wire busmaster
94endef
95
96$(eval $(call KernelPackage,w1-master-mxc))
97
98
99#
100# 1-wire slaves
101#
102define KernelPackage/w1-slave-therm
103  TITLE:=Thermal family implementation
104  KCONFIG:=CONFIG_W1_SLAVE_THERM
105  FILES:=$(W1_SLAVES_DIR)/w1_therm.ko
106  AUTOLOAD:=$(call AutoProbe,w1_therm)
107  $(call AddDepends/w1)
108endef
109
110define KernelPackage/w1-slave-therm/description
111 Kernel module for 1-wire thermal sensors
112endef
113
114$(eval $(call KernelPackage,w1-slave-therm))
115
116
117define KernelPackage/w1-slave-smem
118  TITLE:=Simple 64bit memory family implementation
119  KCONFIG:=CONFIG_W1_SLAVE_SMEM
120  FILES:=$(W1_SLAVES_DIR)/w1_smem.ko
121  AUTOLOAD:=$(call AutoProbe,w1_smem)
122  $(call AddDepends/w1)
123endef
124
125define KernelPackage/w1-slave-smem/description
126 Kernel module for 1-wire simple 64bit memory rom(ds2401/ds2411/ds1990*)
127endef
128
129$(eval $(call KernelPackage,w1-slave-smem))
130
131define KernelPackage/w1-slave-ds2431
132  TITLE:=DS2431 1kb EEPROM driver
133  KCONFIG:= CONFIG_W1_SLAVE_DS2431
134  FILES:=$(W1_SLAVES_DIR)/w1_ds2431.ko
135  AUTOLOAD:=$(call AutoProbe,w1_ds2431)
136  $(call AddDepends/w1)
137endef
138
139define KernelPackage/w1-slave-ds2431/description
140 Kernel module for 1-wire 1kb EEPROM (DS2431)
141endef
142
143$(eval $(call KernelPackage,w1-slave-ds2431))
144
145define KernelPackage/w1-slave-ds2433
146  TITLE:=DS2433 4kb EEPROM driver
147  KCONFIG:= \
148	CONFIG_W1_SLAVE_DS2433 \
149	CONFIG_W1_SLAVE_DS2433_CRC=n
150  FILES:=$(W1_SLAVES_DIR)/w1_ds2433.ko
151  AUTOLOAD:=$(call AutoProbe,w1_ds2433)
152  $(call AddDepends/w1)
153endef
154
155define KernelPackage/w1-slave-ds2433/description
156 Kernel module for 1-wire 4kb EEPROM (DS2433)
157endef
158
159$(eval $(call KernelPackage,w1-slave-ds2433))
160
161
162define KernelPackage/w1-slave-ds2760
163  TITLE:=Dallas 2760 battery monitor chip (HP iPAQ & others)
164  KCONFIG:= \
165	CONFIG_W1_SLAVE_DS2760 \
166	CONFIG_W1_SLAVE_DS2433_CRC=n
167  FILES:=$(W1_SLAVES_DIR)/w1_ds2760.ko
168  AUTOLOAD:=$(call AutoProbe,w1_ds2760)
169  $(call AddDepends/w1)
170endef
171
172define KernelPackage/w1-slave-ds2760/description
173 Kernel module for 1-wire DS2760 battery monitor chip support
174endef
175
176$(eval $(call KernelPackage,w1-slave-ds2760))
177
178
179define KernelPackage/w1-slave-ds2413
180  TITLE:=DS2413 2 Ch. Addressable Switch
181  KCONFIG:= \
182	CONFIG_W1_SLAVE_DS2413
183  FILES:=$(W1_SLAVES_DIR)/w1_ds2413.ko
184  AUTOLOAD:=$(call AutoProbe,w1_ds2413)
185  $(call AddDepends/w1)
186endef
187
188define KernelPackage/w1-slave-ds2413/description
189 Kernel module for 1-wire DS2413 Dual Channel Addressable Switch support
190endef
191
192$(eval $(call KernelPackage,w1-slave-ds2413))
193