linux/arch/sparc/include/asm/machines.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/*
   3 * machines.h:  Defines for taking apart the machine type value in the
   4 *              idprom and determining the kind of machine we are on.
   5 *
   6 * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
   7 */
   8#ifndef _SPARC_MACHINES_H
   9#define _SPARC_MACHINES_H
  10
  11struct Sun_Machine_Models {
  12        char *name;
  13        unsigned char id_machtype;
  14};
  15
  16/* The machine type in the idprom area looks like this:
  17 *
  18 * ---------------
  19 * | ARCH | MACH |
  20 * ---------------
  21 *  7    4 3    0
  22 *
  23 * The ARCH field determines the architecture line (sun4m, etc).
  24 * The MACH field determines the machine make within that architecture.
  25 */
  26
  27#define SM_ARCH_MASK  0xf0
  28#define  M_LEON       0x30
  29#define SM_SUN4M      0x70
  30#define SM_SUN4M_OBP  0x80
  31
  32#define SM_TYP_MASK   0x0f
  33
  34/* Leon machines */
  35#define M_LEON3_SOC   0x02    /* Leon3 SoC */
  36
  37/* Sun4m machines, these predate the OpenBoot.  These values only mean
  38 * something if the value in the ARCH field is SM_SUN4M, if it is
  39 * SM_SUN4M_OBP then you have the following situation:
  40 * 1) You either have a sun4d, a sun4e, or a recently made sun4m.
  41 * 2) You have to consult OpenBoot to determine which machine this is.
  42 */
  43#define SM_4M_SS60    0x01    /* Sun4m SparcSystem 600                  */
  44#define SM_4M_SS50    0x02    /* Sun4m SparcStation 10                  */
  45#define SM_4M_SS40    0x03    /* Sun4m SparcStation 5                   */
  46
  47/* Sun4d machines -- N/A */
  48/* Sun4e machines -- N/A */
  49/* Sun4u machines -- N/A */
  50
  51#endif /* !(_SPARC_MACHINES_H) */
  52