1*57e252bfSMichael Neumann /* 2*57e252bfSMichael Neumann * Copyright 2012 Advanced Micro Devices, Inc. 3*57e252bfSMichael Neumann * 4*57e252bfSMichael Neumann * Permission is hereby granted, free of charge, to any person obtaining a 5*57e252bfSMichael Neumann * copy of this software and associated documentation files (the "Software"), 6*57e252bfSMichael Neumann * to deal in the Software without restriction, including without limitation 7*57e252bfSMichael Neumann * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8*57e252bfSMichael Neumann * and/or sell copies of the Software, and to permit persons to whom the 9*57e252bfSMichael Neumann * Software is furnished to do so, subject to the following conditions: 10*57e252bfSMichael Neumann * 11*57e252bfSMichael Neumann * The above copyright notice and this permission notice shall be included in 12*57e252bfSMichael Neumann * all copies or substantial portions of the Software. 13*57e252bfSMichael Neumann * 14*57e252bfSMichael Neumann * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15*57e252bfSMichael Neumann * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16*57e252bfSMichael Neumann * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17*57e252bfSMichael Neumann * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 18*57e252bfSMichael Neumann * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 19*57e252bfSMichael Neumann * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 20*57e252bfSMichael Neumann * OTHER DEALINGS IN THE SOFTWARE. 21*57e252bfSMichael Neumann * 22*57e252bfSMichael Neumann */ 23*57e252bfSMichael Neumann #ifndef __RADEON_UCODE_H__ 24*57e252bfSMichael Neumann #define __RADEON_UCODE_H__ 25*57e252bfSMichael Neumann 26*57e252bfSMichael Neumann /* CP */ 27*57e252bfSMichael Neumann #define R600_PFP_UCODE_SIZE 576 28*57e252bfSMichael Neumann #define R600_PM4_UCODE_SIZE 1792 29*57e252bfSMichael Neumann #define R700_PFP_UCODE_SIZE 848 30*57e252bfSMichael Neumann #define R700_PM4_UCODE_SIZE 1360 31*57e252bfSMichael Neumann #define EVERGREEN_PFP_UCODE_SIZE 1120 32*57e252bfSMichael Neumann #define EVERGREEN_PM4_UCODE_SIZE 1376 33*57e252bfSMichael Neumann #define CAYMAN_PFP_UCODE_SIZE 2176 34*57e252bfSMichael Neumann #define CAYMAN_PM4_UCODE_SIZE 2176 35*57e252bfSMichael Neumann #define SI_PFP_UCODE_SIZE 2144 36*57e252bfSMichael Neumann #define SI_PM4_UCODE_SIZE 2144 37*57e252bfSMichael Neumann #define SI_CE_UCODE_SIZE 2144 38*57e252bfSMichael Neumann 39*57e252bfSMichael Neumann /* RLC */ 40*57e252bfSMichael Neumann #define R600_RLC_UCODE_SIZE 768 41*57e252bfSMichael Neumann #define R700_RLC_UCODE_SIZE 1024 42*57e252bfSMichael Neumann #define EVERGREEN_RLC_UCODE_SIZE 768 43*57e252bfSMichael Neumann #define CAYMAN_RLC_UCODE_SIZE 1024 44*57e252bfSMichael Neumann #define ARUBA_RLC_UCODE_SIZE 1536 45*57e252bfSMichael Neumann #define SI_RLC_UCODE_SIZE 2048 46*57e252bfSMichael Neumann 47*57e252bfSMichael Neumann /* MC */ 48*57e252bfSMichael Neumann #define BTC_MC_UCODE_SIZE 6024 49*57e252bfSMichael Neumann #define CAYMAN_MC_UCODE_SIZE 6037 50*57e252bfSMichael Neumann #define SI_MC_UCODE_SIZE 7769 51*57e252bfSMichael Neumann #define OLAND_MC_UCODE_SIZE 7863 52*57e252bfSMichael Neumann 53*57e252bfSMichael Neumann /* SMC */ 54*57e252bfSMichael Neumann #define RV770_SMC_UCODE_START 0x0100 55*57e252bfSMichael Neumann #define RV770_SMC_UCODE_SIZE 0x410d 56*57e252bfSMichael Neumann #define RV770_SMC_INT_VECTOR_START 0xffc0 57*57e252bfSMichael Neumann #define RV770_SMC_INT_VECTOR_SIZE 0x0040 58*57e252bfSMichael Neumann 59*57e252bfSMichael Neumann #define RV730_SMC_UCODE_START 0x0100 60*57e252bfSMichael Neumann #define RV730_SMC_UCODE_SIZE 0x412c 61*57e252bfSMichael Neumann #define RV730_SMC_INT_VECTOR_START 0xffc0 62*57e252bfSMichael Neumann #define RV730_SMC_INT_VECTOR_SIZE 0x0040 63*57e252bfSMichael Neumann 64*57e252bfSMichael Neumann #define RV710_SMC_UCODE_START 0x0100 65*57e252bfSMichael Neumann #define RV710_SMC_UCODE_SIZE 0x3f1f 66*57e252bfSMichael Neumann #define RV710_SMC_INT_VECTOR_START 0xffc0 67*57e252bfSMichael Neumann #define RV710_SMC_INT_VECTOR_SIZE 0x0040 68*57e252bfSMichael Neumann 69*57e252bfSMichael Neumann #define RV740_SMC_UCODE_START 0x0100 70*57e252bfSMichael Neumann #define RV740_SMC_UCODE_SIZE 0x41c5 71*57e252bfSMichael Neumann #define RV740_SMC_INT_VECTOR_START 0xffc0 72*57e252bfSMichael Neumann #define RV740_SMC_INT_VECTOR_SIZE 0x0040 73*57e252bfSMichael Neumann 74*57e252bfSMichael Neumann #define CEDAR_SMC_UCODE_START 0x0100 75*57e252bfSMichael Neumann #define CEDAR_SMC_UCODE_SIZE 0x5d50 76*57e252bfSMichael Neumann #define CEDAR_SMC_INT_VECTOR_START 0xffc0 77*57e252bfSMichael Neumann #define CEDAR_SMC_INT_VECTOR_SIZE 0x0040 78*57e252bfSMichael Neumann 79*57e252bfSMichael Neumann #define REDWOOD_SMC_UCODE_START 0x0100 80*57e252bfSMichael Neumann #define REDWOOD_SMC_UCODE_SIZE 0x5f0a 81*57e252bfSMichael Neumann #define REDWOOD_SMC_INT_VECTOR_START 0xffc0 82*57e252bfSMichael Neumann #define REDWOOD_SMC_INT_VECTOR_SIZE 0x0040 83*57e252bfSMichael Neumann 84*57e252bfSMichael Neumann #define JUNIPER_SMC_UCODE_START 0x0100 85*57e252bfSMichael Neumann #define JUNIPER_SMC_UCODE_SIZE 0x5f1f 86*57e252bfSMichael Neumann #define JUNIPER_SMC_INT_VECTOR_START 0xffc0 87*57e252bfSMichael Neumann #define JUNIPER_SMC_INT_VECTOR_SIZE 0x0040 88*57e252bfSMichael Neumann 89*57e252bfSMichael Neumann #define CYPRESS_SMC_UCODE_START 0x0100 90*57e252bfSMichael Neumann #define CYPRESS_SMC_UCODE_SIZE 0x61f7 91*57e252bfSMichael Neumann #define CYPRESS_SMC_INT_VECTOR_START 0xffc0 92*57e252bfSMichael Neumann #define CYPRESS_SMC_INT_VECTOR_SIZE 0x0040 93*57e252bfSMichael Neumann 94*57e252bfSMichael Neumann #define BARTS_SMC_UCODE_START 0x0100 95*57e252bfSMichael Neumann #define BARTS_SMC_UCODE_SIZE 0x6107 96*57e252bfSMichael Neumann #define BARTS_SMC_INT_VECTOR_START 0xffc0 97*57e252bfSMichael Neumann #define BARTS_SMC_INT_VECTOR_SIZE 0x0040 98*57e252bfSMichael Neumann 99*57e252bfSMichael Neumann #define TURKS_SMC_UCODE_START 0x0100 100*57e252bfSMichael Neumann #define TURKS_SMC_UCODE_SIZE 0x605b 101*57e252bfSMichael Neumann #define TURKS_SMC_INT_VECTOR_START 0xffc0 102*57e252bfSMichael Neumann #define TURKS_SMC_INT_VECTOR_SIZE 0x0040 103*57e252bfSMichael Neumann 104*57e252bfSMichael Neumann #define CAICOS_SMC_UCODE_START 0x0100 105*57e252bfSMichael Neumann #define CAICOS_SMC_UCODE_SIZE 0x5fbd 106*57e252bfSMichael Neumann #define CAICOS_SMC_INT_VECTOR_START 0xffc0 107*57e252bfSMichael Neumann #define CAICOS_SMC_INT_VECTOR_SIZE 0x0040 108*57e252bfSMichael Neumann 109*57e252bfSMichael Neumann #define CAYMAN_SMC_UCODE_START 0x0100 110*57e252bfSMichael Neumann #define CAYMAN_SMC_UCODE_SIZE 0x79ec 111*57e252bfSMichael Neumann #define CAYMAN_SMC_INT_VECTOR_START 0xffc0 112*57e252bfSMichael Neumann #define CAYMAN_SMC_INT_VECTOR_SIZE 0x0040 113*57e252bfSMichael Neumann 114*57e252bfSMichael Neumann #define TAHITI_SMC_UCODE_START 0x10000 115*57e252bfSMichael Neumann #define TAHITI_SMC_UCODE_SIZE 0xf458 116*57e252bfSMichael Neumann 117*57e252bfSMichael Neumann #define PITCAIRN_SMC_UCODE_START 0x10000 118*57e252bfSMichael Neumann #define PITCAIRN_SMC_UCODE_SIZE 0xe9f4 119*57e252bfSMichael Neumann 120*57e252bfSMichael Neumann #define VERDE_SMC_UCODE_START 0x10000 121*57e252bfSMichael Neumann #define VERDE_SMC_UCODE_SIZE 0xebe4 122*57e252bfSMichael Neumann 123*57e252bfSMichael Neumann #define OLAND_SMC_UCODE_START 0x10000 124*57e252bfSMichael Neumann #define OLAND_SMC_UCODE_SIZE 0xe7b4 125*57e252bfSMichael Neumann 126*57e252bfSMichael Neumann #define HAINAN_SMC_UCODE_START 0x10000 127*57e252bfSMichael Neumann #define HAINAN_SMC_UCODE_SIZE 0xe67C 128*57e252bfSMichael Neumann 129*57e252bfSMichael Neumann #endif 130