1/*
2 * Copyright 2008 Corbin Simpson <MostAwesomeDude@gmail.com>
3 * Copyright 2010 Marek Olšák <maraeo@gmail.com>
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * on the rights to use, copy, modify, merge, publish, distribute, sub
9 * license, and/or sell copies of the Software, and to permit persons to whom
10 * the Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
14 * Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
19 * THE AUTHOR(S) AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
20 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
21 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
22 * USE OR OTHER DEALINGS IN THE SOFTWARE. */
23
24#ifndef AMD_FAMILY_H
25#define AMD_FAMILY_H
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31enum radeon_family
32{
33   CHIP_UNKNOWN = 0,
34   CHIP_R300, /* R3xx-based cores. (GFX2) */
35   CHIP_R350,
36   CHIP_RV350,
37   CHIP_RV370,
38   CHIP_RV380,
39   CHIP_RS400,
40   CHIP_RC410,
41   CHIP_RS480,
42   CHIP_R420, /* R4xx-based cores. (GFX2) */
43   CHIP_R423,
44   CHIP_R430,
45   CHIP_R480,
46   CHIP_R481,
47   CHIP_RV410,
48   CHIP_RS600,
49   CHIP_RS690,
50   CHIP_RS740,
51   CHIP_RV515, /* R5xx-based cores. (GFX2) */
52   CHIP_R520,
53   CHIP_RV530,
54   CHIP_R580,
55   CHIP_RV560,
56   CHIP_RV570,
57   CHIP_R600, /* GFX3 (R6xx) */
58   CHIP_RV610,
59   CHIP_RV630,
60   CHIP_RV670,
61   CHIP_RV620,
62   CHIP_RV635,
63   CHIP_RS780,
64   CHIP_RS880,
65   CHIP_RV770, /* GFX3 (R7xx) */
66   CHIP_RV730,
67   CHIP_RV710,
68   CHIP_RV740,
69   CHIP_CEDAR, /* GFX4 (Evergreen) */
70   CHIP_REDWOOD,
71   CHIP_JUNIPER,
72   CHIP_CYPRESS,
73   CHIP_HEMLOCK,
74   CHIP_PALM,
75   CHIP_SUMO,
76   CHIP_SUMO2,
77   CHIP_BARTS,
78   CHIP_TURKS,
79   CHIP_CAICOS,
80   CHIP_CAYMAN, /* GFX5 (Northern Islands) */
81   CHIP_ARUBA,
82   CHIP_TAHITI, /* GFX6 (Southern Islands) */
83   CHIP_PITCAIRN,
84   CHIP_VERDE,
85   CHIP_OLAND,
86   CHIP_HAINAN,
87   CHIP_BONAIRE, /* GFX7 (Sea Islands) */
88   CHIP_KAVERI,
89   CHIP_KABINI,
90   CHIP_HAWAII,
91   CHIP_TONGA, /* GFX8 (Volcanic Islands & Polaris) */
92   CHIP_ICELAND,
93   CHIP_CARRIZO,
94   CHIP_FIJI,
95   CHIP_STONEY,
96   CHIP_POLARIS10,
97   CHIP_POLARIS11,
98   CHIP_POLARIS12,
99   CHIP_VEGAM,
100   CHIP_VEGA10, /* GFX9 (Vega) */
101   CHIP_VEGA12,
102   CHIP_VEGA20,
103   CHIP_RAVEN,
104   CHIP_RAVEN2,
105   CHIP_RENOIR,
106   CHIP_ARCTURUS,
107   CHIP_ALDEBARAN,
108   CHIP_NAVI10,
109   CHIP_NAVI12,
110   CHIP_NAVI14,
111   CHIP_SIENNA_CICHLID,
112   CHIP_NAVY_FLOUNDER,
113   CHIP_VANGOGH,
114   CHIP_DIMGREY_CAVEFISH,
115   CHIP_BEIGE_GOBY,
116   CHIP_YELLOW_CARP,
117   CHIP_LAST,
118};
119
120enum chip_class
121{
122   CLASS_UNKNOWN = 0,
123   R300,
124   R400,
125   R500,
126   R600,
127   R700,
128   EVERGREEN,
129   CAYMAN,
130   GFX6,
131   GFX7,
132   GFX8,
133   GFX9,
134   GFX10,
135   GFX10_3,
136
137   NUM_GFX_VERSIONS,
138};
139
140enum ring_type
141{
142   RING_GFX = 0,
143   RING_COMPUTE,
144   RING_DMA,
145   RING_UVD,
146   RING_VCE,
147   RING_UVD_ENC,
148   RING_VCN_DEC,
149   RING_VCN_ENC,
150   RING_VCN_JPEG,
151   NUM_RING_TYPES,
152};
153
154const char *ac_get_family_name(enum radeon_family family);
155
156#ifdef __cplusplus
157}
158#endif
159
160#endif
161