1 /*
2  * Copyright 2017 Advanced Micro Devices, Inc.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17  * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
18  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20  * OTHER DEALINGS IN THE SOFTWARE.
21  */
22 
23 #ifndef __AMD_ASIC_TYPE_H__
24 #define __AMD_ASIC_TYPE_H__
25 
26 #include <linux/types.h>
27 
28 /*
29  * Supported ASIC types
30  */
31 enum amd_asic_type {
32 	CHIP_TAHITI = 0,
33 	CHIP_PITCAIRN,	/* 1 */
34 	CHIP_VERDE,	/* 2 */
35 	CHIP_OLAND,	/* 3 */
36 	CHIP_HAINAN,	/* 4 */
37 	CHIP_BONAIRE,	/* 5 */
38 	CHIP_KAVERI,	/* 6 */
39 	CHIP_KABINI,	/* 7 */
40 	CHIP_HAWAII,	/* 8 */
41 	CHIP_MULLINS,	/* 9 */
42 	CHIP_TOPAZ,	/* 10 */
43 	CHIP_TONGA,	/* 11 */
44 	CHIP_FIJI,	/* 12 */
45 	CHIP_CARRIZO,	/* 13 */
46 	CHIP_STONEY,	/* 14 */
47 	CHIP_POLARIS10,	/* 15 */
48 	CHIP_POLARIS11,	/* 16 */
49 	CHIP_POLARIS12,	/* 17 */
50 	CHIP_VEGAM,	/* 18 */
51 	CHIP_VEGA10,	/* 19 */
52 	CHIP_VEGA12,	/* 20 */
53 	CHIP_VEGA20,	/* 21 */
54 	CHIP_RAVEN,	/* 22 */
55 	CHIP_ARCTURUS,	/* 23 */
56 	CHIP_RENOIR,	/* 24 */
57 	CHIP_ALDEBARAN, /* 25 */
58 	CHIP_NAVI10,	/* 26 */
59 	CHIP_CYAN_SKILLFISH,	/* 27 */
60 	CHIP_NAVI14,	/* 28 */
61 	CHIP_NAVI12,	/* 29 */
62 	CHIP_SIENNA_CICHLID,	/* 30 */
63 	CHIP_NAVY_FLOUNDER,	/* 31 */
64 	CHIP_VANGOGH,	/* 32 */
65 	CHIP_DIMGREY_CAVEFISH,	/* 33 */
66 	CHIP_BEIGE_GOBY,	/* 34 */
67 	CHIP_YELLOW_CARP,	/* 35 */
68 	CHIP_IP_DISCOVERY,	/* 36 */
69 	CHIP_LAST,
70 };
71 
72 extern const char *amdgpu_asic_name[];
73 
74 struct amdgpu_asic_type_quirk {
75 	unsigned short device;	/* PCI device ID */
76 	u8 revision;	/* revision ID */
77 	unsigned short type;	/* real ASIC type */
78 };
79 #endif /*__AMD_ASIC_TYPE_H__ */
80