Skip to content

Commit 86310cc

Browse files
committed
Merge tag 'linux-can-next-for-4.6-20160220' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next
Marc Kleine-Budde says: ==================== pull-request: can-next 2016-02-20 this is a pull request of 9 patch for net-next/master. The first 3 patches are from Damien Riegel, they add support for Technologic Systems IP core to tje sja100 driver. The next patches 6 by Marek Vasut (including one my me) first clean sort the CAN driver's Kconfig and Makefiles and then add support for the IFI CANFD IP core. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2 parents 9c572dc + 0c4d9c9 commit 86310cc

File tree

9 files changed

+1064
-53
lines changed

9 files changed

+1064
-53
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
IFI CANFD controller
2+
--------------------
3+
4+
Required properties:
5+
- compatible: Should be "ifi,canfd-1.0"
6+
- reg: Should contain CAN controller registers location and length
7+
- interrupts: Should contain IRQ line for the CAN controller
8+
9+
Example:
10+
11+
canfd0: canfd@ff220000 {
12+
compatible = "ifi,canfd-1.0";
13+
reg = <0xff220000 0x00001000>;
14+
interrupts = <0 43 0>;
15+
};

Documentation/devicetree/bindings/net/can/sja1000.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Memory mapped SJA1000 CAN controller from NXP (formerly Philips)
22

33
Required properties:
44

5-
- compatible : should be "nxp,sja1000".
5+
- compatible : should be one of "nxp,sja1000", "technologic,sja1000".
66

77
- reg : should specify the chip select, address offset and size required
88
to map the registers of the SJA1000. The size is usually 0x80.
@@ -14,6 +14,7 @@ Optional properties:
1414

1515
- reg-io-width : Specify the size (in bytes) of the IO accesses that
1616
should be performed on the device. Valid value is 1, 2 or 4.
17+
This property is ignored for technologic version.
1718
Default to 1 (8 bits).
1819

1920
- nxp,external-clock-frequency : Frequency of the external oscillator

Documentation/devicetree/bindings/vendor-prefixes.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ hp Hewlett Packard
111111
i2se I2SE GmbH
112112
ibm International Business Machines (IBM)
113113
idt Integrated Device Technologies, Inc.
114+
ifi Ingenieurburo Fur Ic-Technologie (I/F/I)
114115
iom Iomega Corporation
115116
img Imagination Technologies Ltd.
116117
ingenic Ingenic Semiconductor

drivers/net/can/Kconfig

Lines changed: 29 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,6 @@ config CAN_AT91
7070
This is a driver for the SoC CAN controller in Atmel's AT91SAM9263
7171
and AT91SAM9X5 processors.
7272

73-
config CAN_TI_HECC
74-
depends on ARM
75-
tristate "TI High End CAN Controller"
76-
---help---
77-
Driver for TI HECC (High End CAN Controller) module found on many
78-
TI devices. The device specifications are available from www.ti.com
79-
8073
config CAN_BFIN
8174
depends on BF534 || BF536 || BF537 || BF538 || BF539 || BF54x
8275
tristate "Analog Devices Blackfin on-chip CAN"
@@ -86,30 +79,12 @@ config CAN_BFIN
8679
To compile this driver as a module, choose M here: the
8780
module will be called bfin_can.
8881

89-
config CAN_JANZ_ICAN3
90-
tristate "Janz VMOD-ICAN3 Intelligent CAN controller"
91-
depends on MFD_JANZ_CMODIO
92-
---help---
93-
Driver for Janz VMOD-ICAN3 Intelligent CAN controller module, which
94-
connects to a MODULbus carrier board.
95-
96-
This driver can also be built as a module. If so, the module will be
97-
called janz-ican3.ko.
98-
9982
config CAN_FLEXCAN
10083
tristate "Support for Freescale FLEXCAN based chips"
10184
depends on ARM || PPC
10285
---help---
10386
Say Y here if you want to support for Freescale FlexCAN.
10487

105-
config PCH_CAN
106-
tristate "Intel EG20T PCH CAN controller"
107-
depends on PCI && (X86_32 || COMPILE_TEST)
108-
---help---
109-
This driver is for PCH CAN of Topcliff (Intel EG20T PCH) which
110-
is an IOH for x86 embedded processor (Intel Atom E6xx series).
111-
This driver can access CAN bus.
112-
11388
config CAN_GRCAN
11489
tristate "Aeroflex Gaisler GRCAN and GRHCAN CAN devices"
11590
depends on OF && HAS_DMA
@@ -119,6 +94,16 @@ config CAN_GRCAN
11994
endian syntheses of the cores would need some modifications on
12095
the hardware level to work.
12196

97+
config CAN_JANZ_ICAN3
98+
tristate "Janz VMOD-ICAN3 Intelligent CAN controller"
99+
depends on MFD_JANZ_CMODIO
100+
---help---
101+
Driver for Janz VMOD-ICAN3 Intelligent CAN controller module, which
102+
connects to a MODULbus carrier board.
103+
104+
This driver can also be built as a module. If so, the module will be
105+
called janz-ican3.ko.
106+
122107
config CAN_RCAR
123108
tristate "Renesas R-Car CAN controller"
124109
depends on ARM
@@ -139,6 +124,13 @@ config CAN_SUN4I
139124
To compile this driver as a module, choose M here: the module will
140125
be called sun4i_can.
141126

127+
config CAN_TI_HECC
128+
depends on ARM
129+
tristate "TI High End CAN Controller"
130+
---help---
131+
Driver for TI HECC (High End CAN Controller) module found on many
132+
TI devices. The device specifications are available from www.ti.com
133+
142134
config CAN_XILINXCAN
143135
tristate "Xilinx CAN"
144136
depends on ARCH_ZYNQ || ARM64 || MICROBLAZE || COMPILE_TEST
@@ -147,22 +139,24 @@ config CAN_XILINXCAN
147139
Xilinx CAN driver. This driver supports both soft AXI CAN IP and
148140
Zynq CANPS IP.
149141

150-
source "drivers/net/can/mscan/Kconfig"
151-
152-
source "drivers/net/can/sja1000/Kconfig"
142+
config PCH_CAN
143+
tristate "Intel EG20T PCH CAN controller"
144+
depends on PCI && (X86_32 || COMPILE_TEST)
145+
---help---
146+
This driver is for PCH CAN of Topcliff (Intel EG20T PCH) which
147+
is an IOH for x86 embedded processor (Intel Atom E6xx series).
148+
This driver can access CAN bus.
153149

154150
source "drivers/net/can/c_can/Kconfig"
155-
156-
source "drivers/net/can/m_can/Kconfig"
157-
158151
source "drivers/net/can/cc770/Kconfig"
159-
152+
source "drivers/net/can/ifi_canfd/Kconfig"
153+
source "drivers/net/can/m_can/Kconfig"
154+
source "drivers/net/can/mscan/Kconfig"
155+
source "drivers/net/can/sja1000/Kconfig"
156+
source "drivers/net/can/softing/Kconfig"
160157
source "drivers/net/can/spi/Kconfig"
161-
162158
source "drivers/net/can/usb/Kconfig"
163159

164-
source "drivers/net/can/softing/Kconfig"
165-
166160
endif
167161

168162
config CAN_DEBUG_DEVICES

drivers/net/can/Makefile

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,22 @@ obj-y += spi/
1414
obj-y += usb/
1515
obj-y += softing/
1616

17-
obj-$(CONFIG_CAN_SJA1000) += sja1000/
18-
obj-$(CONFIG_CAN_MSCAN) += mscan/
19-
obj-$(CONFIG_CAN_C_CAN) += c_can/
20-
obj-$(CONFIG_CAN_M_CAN) += m_can/
21-
obj-$(CONFIG_CAN_CC770) += cc770/
2217
obj-$(CONFIG_CAN_AT91) += at91_can.o
23-
obj-$(CONFIG_CAN_TI_HECC) += ti_hecc.o
2418
obj-$(CONFIG_CAN_BFIN) += bfin_can.o
25-
obj-$(CONFIG_CAN_JANZ_ICAN3) += janz-ican3.o
19+
obj-$(CONFIG_CAN_CC770) += cc770/
20+
obj-$(CONFIG_CAN_C_CAN) += c_can/
2621
obj-$(CONFIG_CAN_FLEXCAN) += flexcan.o
27-
obj-$(CONFIG_PCH_CAN) += pch_can.o
2822
obj-$(CONFIG_CAN_GRCAN) += grcan.o
23+
obj-$(CONFIG_CAN_IFI_CANFD) += ifi_canfd/
24+
obj-$(CONFIG_CAN_JANZ_ICAN3) += janz-ican3.o
25+
obj-$(CONFIG_CAN_MSCAN) += mscan/
26+
obj-$(CONFIG_CAN_M_CAN) += m_can/
2927
obj-$(CONFIG_CAN_RCAR) += rcar_can.o
28+
obj-$(CONFIG_CAN_SJA1000) += sja1000/
3029
obj-$(CONFIG_CAN_SUN4I) += sun4i_can.o
30+
obj-$(CONFIG_CAN_TI_HECC) += ti_hecc.o
3131
obj-$(CONFIG_CAN_XILINXCAN) += xilinx_can.o
32+
obj-$(CONFIG_PCH_CAN) += pch_can.o
3233

3334
subdir-ccflags-y += -D__CHECK_ENDIAN__
3435
subdir-ccflags-$(CONFIG_CAN_DEBUG_DEVICES) += -DDEBUG

drivers/net/can/ifi_canfd/Kconfig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
config CAN_IFI_CANFD
2+
depends on HAS_IOMEM
3+
tristate "IFI CAN_FD IP"
4+
---help---
5+
This driver adds support for the I/F/I CAN_FD soft IP block
6+
connected to the "platform bus" (Linux abstraction for directly
7+
to the processor attached devices). The CAN_FD is most often
8+
synthesised into an FPGA or CPLD.

drivers/net/can/ifi_canfd/Makefile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#
2+
# Makefile for the IFI CANFD controller driver.
3+
#
4+
5+
obj-$(CONFIG_CAN_IFI_CANFD) += ifi_canfd.o

0 commit comments

Comments
 (0)