1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun ** asm/bootinfo-vme.h -- VME-specific boot information definitions 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun #ifndef _UAPI_ASM_M68K_BOOTINFO_VME_H 7*4882a593Smuzhiyun #define _UAPI_ASM_M68K_BOOTINFO_VME_H 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #include <linux/types.h> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun /* 14*4882a593Smuzhiyun * VME-specific tags 15*4882a593Smuzhiyun */ 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun #define BI_VME_TYPE 0x8000 /* VME sub-architecture (__be32) */ 18*4882a593Smuzhiyun #define BI_VME_BRDINFO 0x8001 /* VME board information (struct) */ 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun /* 22*4882a593Smuzhiyun * VME models (BI_VME_TYPE) 23*4882a593Smuzhiyun */ 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun #define VME_TYPE_TP34V 0x0034 /* Tadpole TP34V */ 26*4882a593Smuzhiyun #define VME_TYPE_MVME147 0x0147 /* Motorola MVME147 */ 27*4882a593Smuzhiyun #define VME_TYPE_MVME162 0x0162 /* Motorola MVME162 */ 28*4882a593Smuzhiyun #define VME_TYPE_MVME166 0x0166 /* Motorola MVME166 */ 29*4882a593Smuzhiyun #define VME_TYPE_MVME167 0x0167 /* Motorola MVME167 */ 30*4882a593Smuzhiyun #define VME_TYPE_MVME172 0x0172 /* Motorola MVME172 */ 31*4882a593Smuzhiyun #define VME_TYPE_MVME177 0x0177 /* Motorola MVME177 */ 32*4882a593Smuzhiyun #define VME_TYPE_BVME4000 0x4000 /* BVM Ltd. BVME4000 */ 33*4882a593Smuzhiyun #define VME_TYPE_BVME6000 0x6000 /* BVM Ltd. BVME6000 */ 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun #ifndef __ASSEMBLY__ 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun /* 39*4882a593Smuzhiyun * Board ID data structure - pointer to this retrieved from Bug by head.S 40*4882a593Smuzhiyun * 41*4882a593Smuzhiyun * BI_VME_BRDINFO is a 32 byte struct as returned by the Bug code on 42*4882a593Smuzhiyun * Motorola VME boards. Contains board number, Bug version, board 43*4882a593Smuzhiyun * configuration options, etc. 44*4882a593Smuzhiyun * 45*4882a593Smuzhiyun * Note, bytes 12 and 13 are board no in BCD (0162,0166,0167,0177,etc) 46*4882a593Smuzhiyun */ 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun typedef struct { 49*4882a593Smuzhiyun char bdid[4]; 50*4882a593Smuzhiyun __u8 rev, mth, day, yr; 51*4882a593Smuzhiyun __be16 size, reserved; 52*4882a593Smuzhiyun __be16 brdno; 53*4882a593Smuzhiyun char brdsuffix[2]; 54*4882a593Smuzhiyun __be32 options; 55*4882a593Smuzhiyun __be16 clun, dlun, ctype, dnum; 56*4882a593Smuzhiyun __be32 option2; 57*4882a593Smuzhiyun } t_bdid, *p_bdid; 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun #endif /* __ASSEMBLY__ */ 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun /* 63*4882a593Smuzhiyun * Latest VME bootinfo versions 64*4882a593Smuzhiyun */ 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun #define MVME147_BOOTI_VERSION MK_BI_VERSION(2, 0) 67*4882a593Smuzhiyun #define MVME16x_BOOTI_VERSION MK_BI_VERSION(2, 0) 68*4882a593Smuzhiyun #define BVME6000_BOOTI_VERSION MK_BI_VERSION(2, 0) 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun #endif /* _UAPI_ASM_M68K_BOOTINFO_VME_H */ 72