blob: 49ef7a62ad36abd90f89895bcb2364b84f3bf342 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#
2# Copyright (C) 2013 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7
8CAN_MENU:=CAN Support
9
10define KernelPackage/can
11 SUBMENU:=$(CAN_MENU)
12 TITLE:=CAN bus support
13 KCONFIG:=\
14 CONFIG_CAN=m \
15 CONFIG_CAN_DEV \
16 CONFIG_CAN_NETLINK=y \
17 CONFIG_CAN_CALC_BITTIMING=y \
18 CONFIG_CAN_LEDS=y \
19 CONFIG_CAN_AT91=n \
20 CONFIG_CAN_TI_HECC=n \
21 CONFIG_CAN_MCP251X=n \
22 CONFIG_CAN_BFIN=n \
23 CONFIG_CAN_JANZ_ICAN3=n \
24 CONFIG_PCH_CAN=n \
25 CONFIG_CAN_GRCAN=n \
26 CONFIG_CAN_CC770=n \
27 CONFIG_CAN_MSCAN=n \
28 CONFIG_CAN_SJA1000=n \
29 CONFIG_CAN_SOFTING=n \
30 CONFIG_NET_EMATCH_CANID=n \
31 CONFIG_CAN_DEBUG_DEVICES=n
32 FILES:=$(LINUX_DIR)/drivers/net/can/dev/can-dev.ko \
33 $(LINUX_DIR)/net/can/can.ko
34 AUTOLOAD:=$(call AutoProbe,can can-dev)
35endef
36
37define KernelPackage/can/description
38 Kernel module for CAN bus support.
39endef
40
41$(eval $(call KernelPackage,can))
42
43
44define AddDepends/can
45 SUBMENU:=$(CAN_MENU)
46 DEPENDS+=kmod-can $(1)
47endef
48
49
50define KernelPackage/can-bcm
51 TITLE:=Broadcast Manager CAN Protcol
52 KCONFIG:=CONFIG_CAN_BCM
53 FILES:=$(LINUX_DIR)/net/can/can-bcm.ko
54 AUTOLOAD:=$(call AutoProbe,can-bcm)
55 $(call AddDepends/can)
56endef
57
58define KernelPackage/can-bcm/description
59 The Broadcast Manager offers content filtering, timeout monitoring,
60 sending of RTR frames, and cyclic CAN messages without permanent user
61 interaction.
62endef
63
64$(eval $(call KernelPackage,can-bcm))
65
66
67define KernelPackage/can-c-can
68 TITLE:=BOSCH C_CAN/D_CAN drivers
69 KCONFIG:=CONFIG_CAN_C_CAN
70 FILES:=$(LINUX_DIR)/drivers/net/can/c_can/c_can.ko
71 AUTOLOAD:=$(call AutoProbe,c_can)
72 $(call AddDepends/can)
73endef
74
75define KernelPackage/can-c-can/description
76 This driver adds generic support for the C_CAN/D_CAN chips.
77endef
78
79$(eval $(call KernelPackage,can-c-can))
80
81
82define KernelPackage/can-c-can-pci
83 TITLE:=PCI Bus based BOSCH C_CAN/D_CAN driver
84 KCONFIG:=CONFIG_CAN_C_CAN_PCI
85 DEPENDS:=kmod-can-c-can @PCI_SUPPORT
86 FILES:=$(LINUX_DIR)/drivers/net/can/c_can/c_can_pci.ko
87 AUTOLOAD:=$(call AutoProbe,c_can_pci)
88 $(call AddDepends/can)
89endef
90
91define KernelPackage/can-c-can-pci/description
92 This driver adds support for the C_CAN/D_CAN chips connected
93 to the PCI bus.
94endef
95
96$(eval $(call KernelPackage,can-c-can-pci))
97
98
99define KernelPackage/can-c-can-platform
100 TITLE:=Platform Bus based BOSCH C_CAN/D_CAN driver
101 KCONFIG:=CONFIG_CAN_C_CAN_PLATFORM
102 DEPENDS:=kmod-can-c-can +kmod-regmap-core
103 FILES:=$(LINUX_DIR)/drivers/net/can/c_can/c_can_platform.ko
104 AUTOLOAD:=$(call AutoProbe,c_can_platform)
105 $(call AddDepends/can)
106endef
107
108define KernelPackage/can-c-can-platform/description
109 This driver adds support for the C_CAN/D_CAN chips connected
110 to the "platform bus" (Linux abstraction for directly to the
111 processor attached devices) which can be found on various
112 boards from ST Microelectronics (http://www.st.com) like the
113 SPEAr1310 and SPEAr320 evaluation boards & TI (www.ti.com)
114 boards like am335x, dm814x, dm813x and dm811x.
115endef
116
117$(eval $(call KernelPackage,can-c-can-platform))
118
119
120define KernelPackage/can-flexcan
121 TITLE:=Support for Freescale FLEXCAN based chips
122 KCONFIG:=CONFIG_CAN_FLEXCAN
123 FILES:= \
124 $(LINUX_DIR)/drivers/net/can/flexcan.ko@lt5.17 \
125 $(LINUX_DIR)/drivers/net/can/flexcan/flexcan.ko@ge5.17
126 AUTOLOAD:=$(call AutoProbe,flexcan)
127 $(call AddDepends/can,@TARGET_imx)
128endef
129
130define KernelPackage/can-flexcan/description
131 Freescale FLEXCAN CAN bus controller implementation.
132endef
133
134$(eval $(call KernelPackage,can-flexcan))
135
136
137define KernelPackage/can-gw
138 TITLE:=CAN Gateway/Router
139 KCONFIG:=CONFIG_CAN_GW
140 FILES:=$(LINUX_DIR)/net/can/can-gw.ko
141 AUTOLOAD:=$(call AutoProbe,can-gw)
142 $(call AddDepends/can)
143endef
144
145define KernelPackage/can-gw/description
146 The CAN Gateway/Router is used to route (and modify) CAN frames.
147endef
148
149$(eval $(call KernelPackage,can-gw))
150
151
152define KernelPackage/can-mcp251x
153 TITLE:=MCP251x SPI CAN controller
154 KCONFIG:=\
155 CONFIG_SPI=y \
156 CONFIG_CAN_MCP251X
157 FILES:=$(LINUX_DIR)/drivers/net/can/spi/mcp251x.ko
158 AUTOLOAD:=$(call AutoProbe,mcp251x)
159 $(call AddDepends/can)
160endef
161
162define KernelPackage/can-mcp251x/description
163 Microchip MCP251x SPI CAN controller
164endef
165
166$(eval $(call KernelPackage,can-mcp251x))
167
168
169define KernelPackage/can-raw
170 TITLE:=Raw CAN Protcol
171 KCONFIG:=CONFIG_CAN_RAW
172 FILES:=$(LINUX_DIR)/net/can/can-raw.ko
173 AUTOLOAD:=$(call AutoProbe,can-raw)
174 $(call AddDepends/can)
175endef
176
177define KernelPackage/can-raw/description
178 The raw CAN protocol option offers access to the CAN bus via
179 the BSD socket API.
180endef
181
182$(eval $(call KernelPackage,can-raw))
183
184
185define KernelPackage/can-slcan
186 TITLE:=Serial / USB serial CAN Adaptors (slcan)
187 KCONFIG:=CONFIG_CAN_SLCAN
188 FILES:= \
189 $(LINUX_DIR)/drivers/net/can/slcan.ko@lt6.0 \
190 $(LINUX_DIR)/drivers/net/can/slcan/slcan.ko@ge6.0
191 AUTOLOAD:=$(call AutoProbe,slcan)
192 $(call AddDepends/can)
193endef
194
195define KernelPackage/can-slcan/description
196 CAN driver for several 'low cost' CAN interfaces that are attached
197 via serial lines or via USB-to-serial adapters using the LAWICEL
198 ASCII protocol.
199endef
200
201$(eval $(call KernelPackage,can-slcan))
202
203
204define KernelPackage/can-usb-8dev
205 TITLE:=8 devices USB2CAN interface
206 KCONFIG:=CONFIG_CAN_8DEV_USB
207 FILES:=$(LINUX_DIR)/drivers/net/can/usb/usb_8dev.ko
208 AUTOLOAD:=$(call AutoProbe,usb_8dev)
209 $(call AddDepends/can,+kmod-usb-core)
210endef
211
212define KernelPackage/can-usb-8dev/description
213 This driver supports the USB2CAN interface
214 from 8 devices (http://www.8devices.com).
215endef
216
217$(eval $(call KernelPackage,can-usb-8dev))
218
219
220define KernelPackage/can-usb-ems
221 TITLE:=EMS CPC-USB/ARM7 CAN/USB interface
222 KCONFIG:=CONFIG_CAN_EMS_USB
223 FILES:=$(LINUX_DIR)/drivers/net/can/usb/ems_usb.ko
224 AUTOLOAD:=$(call AutoProbe,ems_usb)
225 $(call AddDepends/can,+kmod-usb-core)
226endef
227
228define KernelPackage/can-usb-ems/description
229 This driver is for the one channel CPC-USB/ARM7 CAN/USB interface
230 from EMS Dr. Thomas Wuensche (http://www.ems-wuensche.de).
231endef
232
233$(eval $(call KernelPackage,can-usb-ems))
234
235
236define KernelPackage/can-usb-esd
237 TITLE:=ESD USB/2 CAN/USB interface
238 KCONFIG:=CONFIG_CAN_ESD_USB2
239 FILES:=$(LINUX_DIR)/drivers/net/can/usb/esd_usb2.ko
240 AUTOLOAD:=$(call AutoProbe,esd_usb2)
241 $(call AddDepends/can,+kmod-usb-core)
242endef
243
244define KernelPackage/can-usb-esd/description
245 This driver supports the CAN-USB/2 interface
246 from esd electronic system design gmbh (http://www.esd.eu).
247endef
248
249$(eval $(call KernelPackage,can-usb-esd))
250
251
252define KernelPackage/can-usb-gs
253 TITLE:=Geschwister Schneider UG interfaces
254 KCONFIG:=CONFIG_CAN_GS_USB
255 FILES:= \
256 $(LINUX_DIR)/drivers/net/can/usb/gs_usb.ko
257 AUTOLOAD:=$(call AutoProbe,gs_usb)
258 $(call AddDepends/can,+kmod-usb-core)
259endef
260
261define KernelPackage/can-usb-gsr/description
262 This driver supports the Geschwister Schneider and
263 bytewerk.org candleLight compatible
264 (https://github.com/candle-usb/candleLight_fw) USB/CAN
265 interfaces.
266endef
267
268$(eval $(call KernelPackage,can-usb-gs))
269
270
271define KernelPackage/can-usb-kvaser
272 TITLE:=Kvaser CAN/USB interface
273 KCONFIG:=CONFIG_CAN_KVASER_USB
274 FILES:= \
275 $(LINUX_DIR)/drivers/net/can/usb/kvaser_usb/kvaser_usb.ko
276 AUTOLOAD:=$(call AutoProbe,kvaser_usb)
277 $(call AddDepends/can,+kmod-usb-core)
278endef
279
280define KernelPackage/can-usb-kvaser/description
281 This driver adds support for Kvaser CAN/USB devices like Kvaser
282 Leaf Light.
283endef
284
285$(eval $(call KernelPackage,can-usb-kvaser))
286
287
288define KernelPackage/can-usb-peak
289 TITLE:=PEAK PCAN-USB/USB Pro interfaces
290 KCONFIG:=CONFIG_CAN_PEAK_USB
291 FILES:=$(LINUX_DIR)/drivers/net/can/usb/peak_usb/peak_usb.ko
292 AUTOLOAD:=$(call AutoProbe,peak_usb)
293 $(call AddDepends/can,+kmod-usb-core)
294endef
295
296define KernelPackage/can-usb-peak/description
297 This driver supports the PCAN-USB and PCAN-USB Pro adapters
298 from PEAK-System Technik (http://www.peak-system.com).
299endef
300
301$(eval $(call KernelPackage,can-usb-peak))
302
303
304define KernelPackage/can-vcan
305 TITLE:=Virtual Local CAN Interface (vcan)
306 KCONFIG:=CONFIG_CAN_VCAN
307 FILES:=$(LINUX_DIR)/drivers/net/can/vcan.ko
308 AUTOLOAD:=$(call AutoProbe,vcan)
309 $(call AddDepends/can)
310endef
311
312define KernelPackage/can-vcan/description
313 Similar to the network loopback devices, vcan offers a
314 virtual local CAN interface.
315endef
316
317$(eval $(call KernelPackage,can-vcan))
318
319define KernelPackage/can-xilinx-can
320 TITLE:=Xilinx CAN IP
321 KCONFIG:=CONFIG_CAN_XILINXCAN
322 FILES:=$(LINUX_DIR)/drivers/net/can/xilinx_can.ko
323 AUTOLOAD:=$(call AutoProbe,xilinx_can)
324 $(call AddDepends/can,@TARGET_zynq)
325endef
326
327define KernelPackage/can-xilinx-can/description
328 Xilinx CAN driver. This driver supports both
329 soft AXI CAN IP and Zynq CANPS IP.
330endef
331
332$(eval $(call KernelPackage,can-xilinx-can))