xref: /linux/drivers/net/can/softing/softing_platform.h (revision 8e07e0e3964ca4e23ce7b68e2096fe660a888942)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 
3 #include <linux/platform_device.h>
4 
5 #ifndef _SOFTING_DEVICE_H_
6 #define _SOFTING_DEVICE_H_
7 
8 /* softing firmware directory prefix */
9 #define fw_dir "softing-4.6/"
10 
11 struct softing_platform_data {
12 	unsigned int manf;
13 	unsigned int prod;
14 	/*
15 	 * generation
16 	 * 1st with NEC or SJA1000
17 	 * 8bit, exclusive interrupt, ...
18 	 * 2nd only SJA1000
19 	 * 16bit, shared interrupt
20 	 */
21 	int generation;
22 	int nbus; /* # buses on device */
23 	unsigned int freq; /* operating frequency in Hz */
24 	unsigned int max_brp;
25 	unsigned int max_sjw;
26 	unsigned long dpram_size;
27 	const char *name;
28 	struct {
29 		unsigned long offs;
30 		unsigned long addr;
31 		const char *fw;
32 	} boot, load, app;
33 	/*
34 	 * reset() function
35 	 * bring pdev in or out of reset, depending on value
36 	 */
37 	int (*reset)(struct platform_device *pdev, int value);
38 	int (*enable_irq)(struct platform_device *pdev, int value);
39 };
40 
41 #endif
42