xref: /openbmc/linux/arch/m68k/include/asm/machines.h (revision b2441318)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
249148020SSam Ravnborg /*
349148020SSam Ravnborg  * machines.h:  Defines for taking apart the machine type value in the
449148020SSam Ravnborg  *              idprom and determining the kind of machine we are on.
549148020SSam Ravnborg  *
649148020SSam Ravnborg  * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
749148020SSam Ravnborg  * Sun3/3x models added by David Monro (davidm@psrg.cs.usyd.edu.au)
849148020SSam Ravnborg  */
949148020SSam Ravnborg #ifndef _SPARC_MACHINES_H
1049148020SSam Ravnborg #define _SPARC_MACHINES_H
1149148020SSam Ravnborg 
1249148020SSam Ravnborg struct Sun_Machine_Models {
1349148020SSam Ravnborg 	char *name;
1449148020SSam Ravnborg 	unsigned char id_machtype;
1549148020SSam Ravnborg };
1649148020SSam Ravnborg 
1749148020SSam Ravnborg /* Current number of machines we know about that has an IDPROM
1849148020SSam Ravnborg  * machtype entry including one entry for the 0x80 OBP machines.
1949148020SSam Ravnborg  */
2049148020SSam Ravnborg // reduced along with table in arch/m68k/sun3/idprom.c
2149148020SSam Ravnborg // sun3 port doesn't need to know about sparc machines.
2249148020SSam Ravnborg //#define NUM_SUN_MACHINES   23
2349148020SSam Ravnborg #define NUM_SUN_MACHINES  8
2449148020SSam Ravnborg 
2549148020SSam Ravnborg /* The machine type in the idprom area looks like this:
2649148020SSam Ravnborg  *
2749148020SSam Ravnborg  * ---------------
2849148020SSam Ravnborg  * | ARCH | MACH |
2949148020SSam Ravnborg  * ---------------
3049148020SSam Ravnborg  *  7    4 3    0
3149148020SSam Ravnborg  *
3249148020SSam Ravnborg  * The ARCH field determines the architecture line (sun4, sun4c, etc).
3349148020SSam Ravnborg  * The MACH field determines the machine make within that architecture.
3449148020SSam Ravnborg  */
3549148020SSam Ravnborg 
3649148020SSam Ravnborg #define SM_ARCH_MASK  0xf0
3749148020SSam Ravnborg #define SM_SUN3       0x10
3849148020SSam Ravnborg #define SM_SUN4       0x20
3949148020SSam Ravnborg #define SM_SUN3X      0x40
4049148020SSam Ravnborg #define SM_SUN4C      0x50
4149148020SSam Ravnborg #define SM_SUN4M      0x70
4249148020SSam Ravnborg #define SM_SUN4M_OBP  0x80
4349148020SSam Ravnborg 
4449148020SSam Ravnborg #define SM_TYP_MASK   0x0f
4549148020SSam Ravnborg /* Sun3 machines */
4649148020SSam Ravnborg #define SM_3_160      0x01    /* Sun 3/160 series */
4749148020SSam Ravnborg #define SM_3_50       0x02    /* Sun 3/50 series */
4849148020SSam Ravnborg #define SM_3_260      0x03    /* Sun 3/260 series */
4949148020SSam Ravnborg #define SM_3_110      0x04    /* Sun 3/110 series */
5049148020SSam Ravnborg #define SM_3_60       0x07    /* Sun 3/60 series */
5149148020SSam Ravnborg #define SM_3_E        0x08    /* Sun 3/E series */
5249148020SSam Ravnborg 
5349148020SSam Ravnborg /* Sun3x machines */
5449148020SSam Ravnborg #define SM_3_460      0x01    /* Sun 3/460 (460,470,480) series */
5549148020SSam Ravnborg #define SM_3_80       0x02    /* Sun 3/80 series */
5649148020SSam Ravnborg 
5749148020SSam Ravnborg /* Sun4 machines */
5849148020SSam Ravnborg #define SM_4_260      0x01    /* Sun 4/200 series */
5949148020SSam Ravnborg #define SM_4_110      0x02    /* Sun 4/100 series */
6049148020SSam Ravnborg #define SM_4_330      0x03    /* Sun 4/300 series */
6149148020SSam Ravnborg #define SM_4_470      0x04    /* Sun 4/400 series */
6249148020SSam Ravnborg 
6349148020SSam Ravnborg /* Sun4c machines                Full Name              - PROM NAME */
6449148020SSam Ravnborg #define SM_4C_SS1     0x01    /* Sun4c SparcStation 1   - Sun 4/60  */
6549148020SSam Ravnborg #define SM_4C_IPC     0x02    /* Sun4c SparcStation IPC - Sun 4/40  */
6649148020SSam Ravnborg #define SM_4C_SS1PLUS 0x03    /* Sun4c SparcStation 1+  - Sun 4/65  */
6749148020SSam Ravnborg #define SM_4C_SLC     0x04    /* Sun4c SparcStation SLC - Sun 4/20  */
6849148020SSam Ravnborg #define SM_4C_SS2     0x05    /* Sun4c SparcStation 2   - Sun 4/75  */
6949148020SSam Ravnborg #define SM_4C_ELC     0x06    /* Sun4c SparcStation ELC - Sun 4/25  */
7049148020SSam Ravnborg #define SM_4C_IPX     0x07    /* Sun4c SparcStation IPX - Sun 4/50  */
7149148020SSam Ravnborg 
7249148020SSam Ravnborg /* Sun4m machines, these predate the OpenBoot.  These values only mean
7349148020SSam Ravnborg  * something if the value in the ARCH field is SM_SUN4M, if it is
7449148020SSam Ravnborg  * SM_SUN4M_OBP then you have the following situation:
7549148020SSam Ravnborg  * 1) You either have a sun4d, a sun4e, or a recently made sun4m.
7649148020SSam Ravnborg  * 2) You have to consult OpenBoot to determine which machine this is.
7749148020SSam Ravnborg  */
7849148020SSam Ravnborg #define SM_4M_SS60    0x01    /* Sun4m SparcSystem 600                  */
7949148020SSam Ravnborg #define SM_4M_SS50    0x02    /* Sun4m SparcStation 10                  */
8049148020SSam Ravnborg #define SM_4M_SS40    0x03    /* Sun4m SparcStation 5                   */
8149148020SSam Ravnborg 
8249148020SSam Ravnborg /* Sun4d machines -- N/A */
8349148020SSam Ravnborg /* Sun4e machines -- N/A */
8449148020SSam Ravnborg /* Sun4u machines -- N/A */
8549148020SSam Ravnborg 
8649148020SSam Ravnborg #endif /* !(_SPARC_MACHINES_H) */
87