b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 1 | # |
| 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 | |
| 8 | CAN_MENU:=CAN Support |
| 9 | |
| 10 | define 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) |
| 35 | endef |
| 36 | |
| 37 | define KernelPackage/can/description |
| 38 | Kernel module for CAN bus support. |
| 39 | endef |
| 40 | |
| 41 | $(eval $(call KernelPackage,can)) |
| 42 | |
| 43 | |
| 44 | define AddDepends/can |
| 45 | SUBMENU:=$(CAN_MENU) |
| 46 | DEPENDS+=kmod-can $(1) |
| 47 | endef |
| 48 | |
| 49 | |
| 50 | define 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) |
| 56 | endef |
| 57 | |
| 58 | define 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. |
| 62 | endef |
| 63 | |
| 64 | $(eval $(call KernelPackage,can-bcm)) |
| 65 | |
| 66 | |
| 67 | define 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) |
| 73 | endef |
| 74 | |
| 75 | define KernelPackage/can-c-can/description |
| 76 | This driver adds generic support for the C_CAN/D_CAN chips. |
| 77 | endef |
| 78 | |
| 79 | $(eval $(call KernelPackage,can-c-can)) |
| 80 | |
| 81 | |
| 82 | define 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) |
| 89 | endef |
| 90 | |
| 91 | define KernelPackage/can-c-can-pci/description |
| 92 | This driver adds support for the C_CAN/D_CAN chips connected |
| 93 | to the PCI bus. |
| 94 | endef |
| 95 | |
| 96 | $(eval $(call KernelPackage,can-c-can-pci)) |
| 97 | |
| 98 | |
| 99 | define 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) |
| 106 | endef |
| 107 | |
| 108 | define 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. |
| 115 | endef |
| 116 | |
| 117 | $(eval $(call KernelPackage,can-c-can-platform)) |
| 118 | |
| 119 | |
| 120 | define 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) |
| 128 | endef |
| 129 | |
| 130 | define KernelPackage/can-flexcan/description |
| 131 | Freescale FLEXCAN CAN bus controller implementation. |
| 132 | endef |
| 133 | |
| 134 | $(eval $(call KernelPackage,can-flexcan)) |
| 135 | |
| 136 | |
| 137 | define 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) |
| 143 | endef |
| 144 | |
| 145 | define KernelPackage/can-gw/description |
| 146 | The CAN Gateway/Router is used to route (and modify) CAN frames. |
| 147 | endef |
| 148 | |
| 149 | $(eval $(call KernelPackage,can-gw)) |
| 150 | |
| 151 | |
| 152 | define 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) |
| 160 | endef |
| 161 | |
| 162 | define KernelPackage/can-mcp251x/description |
| 163 | Microchip MCP251x SPI CAN controller |
| 164 | endef |
| 165 | |
| 166 | $(eval $(call KernelPackage,can-mcp251x)) |
| 167 | |
| 168 | |
| 169 | define 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) |
| 175 | endef |
| 176 | |
| 177 | define KernelPackage/can-raw/description |
| 178 | The raw CAN protocol option offers access to the CAN bus via |
| 179 | the BSD socket API. |
| 180 | endef |
| 181 | |
| 182 | $(eval $(call KernelPackage,can-raw)) |
| 183 | |
| 184 | |
| 185 | define 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) |
| 193 | endef |
| 194 | |
| 195 | define 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. |
| 199 | endef |
| 200 | |
| 201 | $(eval $(call KernelPackage,can-slcan)) |
| 202 | |
| 203 | |
| 204 | define 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) |
| 210 | endef |
| 211 | |
| 212 | define KernelPackage/can-usb-8dev/description |
| 213 | This driver supports the USB2CAN interface |
| 214 | from 8 devices (http://www.8devices.com). |
| 215 | endef |
| 216 | |
| 217 | $(eval $(call KernelPackage,can-usb-8dev)) |
| 218 | |
| 219 | |
| 220 | define 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) |
| 226 | endef |
| 227 | |
| 228 | define 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). |
| 231 | endef |
| 232 | |
| 233 | $(eval $(call KernelPackage,can-usb-ems)) |
| 234 | |
| 235 | |
| 236 | define 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) |
| 242 | endef |
| 243 | |
| 244 | define 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). |
| 247 | endef |
| 248 | |
| 249 | $(eval $(call KernelPackage,can-usb-esd)) |
| 250 | |
| 251 | |
| 252 | define 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) |
| 259 | endef |
| 260 | |
| 261 | define 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. |
| 266 | endef |
| 267 | |
| 268 | $(eval $(call KernelPackage,can-usb-gs)) |
| 269 | |
| 270 | |
| 271 | define 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) |
| 278 | endef |
| 279 | |
| 280 | define KernelPackage/can-usb-kvaser/description |
| 281 | This driver adds support for Kvaser CAN/USB devices like Kvaser |
| 282 | Leaf Light. |
| 283 | endef |
| 284 | |
| 285 | $(eval $(call KernelPackage,can-usb-kvaser)) |
| 286 | |
| 287 | |
| 288 | define 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) |
| 294 | endef |
| 295 | |
| 296 | define 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). |
| 299 | endef |
| 300 | |
| 301 | $(eval $(call KernelPackage,can-usb-peak)) |
| 302 | |
| 303 | |
| 304 | define 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) |
| 310 | endef |
| 311 | |
| 312 | define KernelPackage/can-vcan/description |
| 313 | Similar to the network loopback devices, vcan offers a |
| 314 | virtual local CAN interface. |
| 315 | endef |
| 316 | |
| 317 | $(eval $(call KernelPackage,can-vcan)) |
| 318 | |
| 319 | define 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) |
| 325 | endef |
| 326 | |
| 327 | define KernelPackage/can-xilinx-can/description |
| 328 | Xilinx CAN driver. This driver supports both |
| 329 | soft AXI CAN IP and Zynq CANPS IP. |
| 330 | endef |
| 331 | |
| 332 | $(eval $(call KernelPackage,can-xilinx-can)) |