diff options
author | Kurt Van Dijck <kurt.van.dijck@eia.be> | 2011-01-11 04:32:31 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-01-22 04:15:17 (GMT) |
commit | 03fd3cf5a179da12e6bee5e9d74b648aff68dc4c (patch) | |
tree | ef8c801d7f07daa4af3cade721f9a99cffd2b0f8 /drivers/net/can/softing/softing_platform.h | |
parent | 2221eca0a2c0f7f9918efdcaa52fb8e1adff991f (diff) | |
download | linux-fsl-qoriq-03fd3cf5a179da12e6bee5e9d74b648aff68dc4c.tar.xz |
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.h | 40 |
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 0000000..ebbf698 --- /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 |