summaryrefslogtreecommitdiffstats
path: root/drivers/net/can/softing/softing_platform.h
diff options
context:
space:
mode:
authorKurt Van Dijck2011-01-11 05:32:31 +0100
committerDavid S. Miller2011-01-22 05:15:17 +0100
commit03fd3cf5a179da12e6bee5e9d74b648aff68dc4c (patch)
treeef8c801d7f07daa4af3cade721f9a99cffd2b0f8 /drivers/net/can/softing/softing_platform.h
parentatm: idt77105: fix fetch_stats() result (diff)
downloadkernel-qcow2-linux-03fd3cf5a179da12e6bee5e9d74b648aff68dc4c.tar.gz
kernel-qcow2-linux-03fd3cf5a179da12e6bee5e9d74b648aff68dc4c.tar.xz
kernel-qcow2-linux-03fd3cf5a179da12e6bee5e9d74b648aff68dc4c.zip
can: add driver for Softing card
This patch adds a driver for the platform:softing device. This will create (up to) 2 CAN network devices from 1 platform:softing device Signed-off-by: Kurt Van Dijck <kurt.van.dijck@eia.be> Acked-by: Wolfgang Grandegger <wg@grandegger.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/can/softing/softing_platform.h')
-rw-r--r--drivers/net/can/softing/softing_platform.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/drivers/net/can/softing/softing_platform.h b/drivers/net/can/softing/softing_platform.h
new file mode 100644
index 000000000000..ebbf69815623
--- /dev/null
+++ b/drivers/net/can/softing/softing_platform.h
@@ -0,0 +1,40 @@
+
+#include <linux/platform_device.h>
+
+#ifndef _SOFTING_DEVICE_H_
+#define _SOFTING_DEVICE_H_
+
+/* softing firmware directory prefix */
+#define fw_dir "softing-4.6/"
+
+struct softing_platform_data {
+ unsigned int manf;
+ unsigned int prod;
+ /*
+ * generation
+ * 1st with NEC or SJA1000
+ * 8bit, exclusive interrupt, ...
+ * 2nd only SJA1000
+ * 16bit, shared interrupt
+ */
+ int generation;
+ int nbus; /* # busses on device */
+ unsigned int freq; /* operating frequency in Hz */
+ unsigned int max_brp;
+ unsigned int max_sjw;
+ unsigned long dpram_size;
+ const char *name;
+ struct {
+ unsigned long offs;
+ unsigned long addr;
+ const char *fw;
+ } boot, load, app;
+ /*
+ * reset() function
+ * bring pdev in or out of reset, depending on value
+ */
+ int (*reset)(struct platform_device *pdev, int value);
+ int (*enable_irq)(struct platform_device *pdev, int value);
+};
+
+#endif