xref: /openbmc/linux/arch/mips/include/asm/sn/sn0/hub.h (revision 8dd06ef34b6e2f41b29fbf5fc1663780f2524285)
1  /*
2   * This file is subject to the terms and conditions of the GNU General Public
3   * License.  See the file "COPYING" in the main directory of this archive
4   * for more details.
5   *
6   * Copyright (C) 1992 - 1997, 1999 Silicon Graphics, Inc.
7   * Copyright (C) 1999 by Ralf Baechle
8   */
9  #ifndef _ASM_SN_SN0_HUB_H
10  #define _ASM_SN_SN0_HUB_H
11  
12  /* The secret password; used to release protection */
13  #define HUB_PASSWORD		0x53474972756c6573ull
14  
15  #define CHIPID_HUB		0
16  #define CHIPID_ROUTER		1
17  
18  #define HUB_REV_1_0		1
19  #define HUB_REV_2_0		2
20  #define HUB_REV_2_1		3
21  #define HUB_REV_2_2		4
22  #define HUB_REV_2_3		5
23  #define HUB_REV_2_4		6
24  
25  #define MAX_HUB_PATH		80
26  
27  #include <asm/sn/sn0/addrs.h>
28  #include <asm/sn/sn0/hubpi.h>
29  #include <asm/sn/sn0/hubmd.h>
30  #include <asm/sn/sn0/hubio.h>
31  #include <asm/sn/sn0/hubni.h>
32  //#include <asm/sn/sn0/hubcore.h>
33  
34  /* Translation of uncached attributes */
35  #define UATTR_HSPEC	0
36  #define UATTR_IO	1
37  #define UATTR_MSPEC	2
38  #define UATTR_UNCAC	3
39  
40  #ifdef __ASSEMBLY__
41  /*
42   * Returns the local nasid into res.
43   */
44  	.macro GET_NASID_ASM res
45  	dli	\res, LOCAL_HUB_ADDR(NI_STATUS_REV_ID)
46  	ld	\res, (\res)
47  	and	\res, NSRI_NODEID_MASK
48  	dsrl	\res, NSRI_NODEID_SHFT
49  	.endm
50  #else
51  
52  /*
53   * get_nasid() returns the physical node id number of the caller.
54   */
get_nasid(void)55  static inline nasid_t get_nasid(void)
56  {
57  	return (nasid_t)((LOCAL_HUB_L(NI_STATUS_REV_ID) & NSRI_NODEID_MASK)
58  			 >> NSRI_NODEID_SHFT);
59  }
60  #endif
61  
62  #endif /* _ASM_SN_SN0_HUB_H */
63