16f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
24c3c522bSGeert Uytterhoeven /*
34c3c522bSGeert Uytterhoeven ** asm/bootinfo-vme.h -- VME-specific boot information definitions
44c3c522bSGeert Uytterhoeven */
54c3c522bSGeert Uytterhoeven 
64c3c522bSGeert Uytterhoeven #ifndef _UAPI_ASM_M68K_BOOTINFO_VME_H
74c3c522bSGeert Uytterhoeven #define _UAPI_ASM_M68K_BOOTINFO_VME_H
84c3c522bSGeert Uytterhoeven 
94c3c522bSGeert Uytterhoeven 
10abe48101SGeert Uytterhoeven #include <linux/types.h>
11abe48101SGeert Uytterhoeven 
12abe48101SGeert Uytterhoeven 
134c3c522bSGeert Uytterhoeven     /*
144c3c522bSGeert Uytterhoeven      *  VME-specific tags
154c3c522bSGeert Uytterhoeven      */
164c3c522bSGeert Uytterhoeven 
17abe48101SGeert Uytterhoeven #define BI_VME_TYPE		0x8000	/* VME sub-architecture (__be32) */
184c3c522bSGeert Uytterhoeven #define BI_VME_BRDINFO		0x8001	/* VME board information (struct) */
194c3c522bSGeert Uytterhoeven 
204c3c522bSGeert Uytterhoeven 
214c3c522bSGeert Uytterhoeven     /*
224c3c522bSGeert Uytterhoeven      *  VME models (BI_VME_TYPE)
234c3c522bSGeert Uytterhoeven      */
244c3c522bSGeert Uytterhoeven 
254c3c522bSGeert Uytterhoeven #define VME_TYPE_TP34V		0x0034	/* Tadpole TP34V */
264c3c522bSGeert Uytterhoeven #define VME_TYPE_MVME147	0x0147	/* Motorola MVME147 */
274c3c522bSGeert Uytterhoeven #define VME_TYPE_MVME162	0x0162	/* Motorola MVME162 */
284c3c522bSGeert Uytterhoeven #define VME_TYPE_MVME166	0x0166	/* Motorola MVME166 */
294c3c522bSGeert Uytterhoeven #define VME_TYPE_MVME167	0x0167	/* Motorola MVME167 */
304c3c522bSGeert Uytterhoeven #define VME_TYPE_MVME172	0x0172	/* Motorola MVME172 */
314c3c522bSGeert Uytterhoeven #define VME_TYPE_MVME177	0x0177	/* Motorola MVME177 */
324c3c522bSGeert Uytterhoeven #define VME_TYPE_BVME4000	0x4000	/* BVM Ltd. BVME4000 */
334c3c522bSGeert Uytterhoeven #define VME_TYPE_BVME6000	0x6000	/* BVM Ltd. BVME6000 */
344c3c522bSGeert Uytterhoeven 
35cf288bd5SGeert Uytterhoeven 
36cf288bd5SGeert Uytterhoeven #ifndef __ASSEMBLY__
37cf288bd5SGeert Uytterhoeven 
38cf288bd5SGeert Uytterhoeven /*
39cf288bd5SGeert Uytterhoeven  * Board ID data structure - pointer to this retrieved from Bug by head.S
40cf288bd5SGeert Uytterhoeven  *
41cf288bd5SGeert Uytterhoeven  * BI_VME_BRDINFO is a 32 byte struct as returned by the Bug code on
424c3c522bSGeert Uytterhoeven  * Motorola VME boards.  Contains board number, Bug version, board
43cf288bd5SGeert Uytterhoeven  * configuration options, etc.
44cf288bd5SGeert Uytterhoeven  *
45cf288bd5SGeert Uytterhoeven  * Note, bytes 12 and 13 are board no in BCD (0162,0166,0167,0177,etc)
464c3c522bSGeert Uytterhoeven  */
474c3c522bSGeert Uytterhoeven 
48cf288bd5SGeert Uytterhoeven typedef struct {
49cf288bd5SGeert Uytterhoeven 	char	bdid[4];
50abe48101SGeert Uytterhoeven 	__u8	rev, mth, day, yr;
51abe48101SGeert Uytterhoeven 	__be16	size, reserved;
52abe48101SGeert Uytterhoeven 	__be16	brdno;
53cf288bd5SGeert Uytterhoeven 	char	brdsuffix[2];
54abe48101SGeert Uytterhoeven 	__be32	options;
55abe48101SGeert Uytterhoeven 	__be16	clun, dlun, ctype, dnum;
56abe48101SGeert Uytterhoeven 	__be32	option2;
57cf288bd5SGeert Uytterhoeven } t_bdid, *p_bdid;
58cf288bd5SGeert Uytterhoeven 
59cf288bd5SGeert Uytterhoeven #endif /* __ASSEMBLY__ */
60cf288bd5SGeert Uytterhoeven 
614c3c522bSGeert Uytterhoeven 
624c3c522bSGeert Uytterhoeven     /*
634c3c522bSGeert Uytterhoeven      *  Latest VME bootinfo versions
644c3c522bSGeert Uytterhoeven      */
654c3c522bSGeert Uytterhoeven 
664c3c522bSGeert Uytterhoeven #define MVME147_BOOTI_VERSION	MK_BI_VERSION(2, 0)
674c3c522bSGeert Uytterhoeven #define MVME16x_BOOTI_VERSION	MK_BI_VERSION(2, 0)
684c3c522bSGeert Uytterhoeven #define BVME6000_BOOTI_VERSION	MK_BI_VERSION(2, 0)
694c3c522bSGeert Uytterhoeven 
704c3c522bSGeert Uytterhoeven 
714c3c522bSGeert Uytterhoeven #endif /* _UAPI_ASM_M68K_BOOTINFO_VME_H */
72