aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorWolfgang Grandegger <wg@grandegger.com>2009-05-15 19:39:31 -0400
committerDavid S. Miller <davem@davemloft.net>2009-05-18 18:41:42 -0400
commitf534e52f091a7b9f51fb6726710bdf731b663e94 (patch)
treef1faad4e595abf44eae5a4942401f1fac14f1494 /include
parent429da1cc841bc9f2e762fd7272fc2b80314b890a (diff)
can: SJA1000 generic platform bus driver
This driver adds support for the SJA1000 chips connected to the "platform bus", which can be found on various embedded systems. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Wolfgang Grandegger <wg@grandegger.com> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Oliver Hartkopp <oliver.hartkopp@volkswagen.de> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/can/platform/sja1000.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/linux/can/platform/sja1000.h b/include/linux/can/platform/sja1000.h
new file mode 100644
index 000000000000..37966e630ff5
--- /dev/null
+++ b/include/linux/can/platform/sja1000.h
@@ -0,0 +1,32 @@
1#ifndef _CAN_PLATFORM_SJA1000_H_
2#define _CAN_PLATFORM_SJA1000_H_
3
4/* clock divider register */
5#define CDR_CLKOUT_MASK 0x07
6#define CDR_CLK_OFF 0x08 /* Clock off (CLKOUT pin) */
7#define CDR_RXINPEN 0x20 /* TX1 output is RX irq output */
8#define CDR_CBP 0x40 /* CAN input comparator bypass */
9#define CDR_PELICAN 0x80 /* PeliCAN mode */
10
11/* output control register */
12#define OCR_MODE_BIPHASE 0x00
13#define OCR_MODE_TEST 0x01
14#define OCR_MODE_NORMAL 0x02
15#define OCR_MODE_CLOCK 0x03
16#define OCR_TX0_INVERT 0x04
17#define OCR_TX0_PULLDOWN 0x08
18#define OCR_TX0_PULLUP 0x10
19#define OCR_TX0_PUSHPULL 0x18
20#define OCR_TX1_INVERT 0x20
21#define OCR_TX1_PULLDOWN 0x40
22#define OCR_TX1_PULLUP 0x80
23#define OCR_TX1_PUSHPULL 0xc0
24
25struct sja1000_platform_data {
26 u32 clock; /* CAN bus oscillator frequency in Hz */
27
28 u8 ocr; /* output control register */
29 u8 cdr; /* clock divider register */
30};
31
32#endif /* !_CAN_PLATFORM_SJA1000_H_ */