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
11struct 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