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