157e252bfSMichael Neumann /* 257e252bfSMichael Neumann * Copyright 2012 Advanced Micro Devices, Inc. 357e252bfSMichael Neumann * 457e252bfSMichael Neumann * Permission is hereby granted, free of charge, to any person obtaining a 557e252bfSMichael Neumann * copy of this software and associated documentation files (the "Software"), 657e252bfSMichael Neumann * to deal in the Software without restriction, including without limitation 757e252bfSMichael Neumann * the rights to use, copy, modify, merge, publish, distribute, sublicense, 857e252bfSMichael Neumann * and/or sell copies of the Software, and to permit persons to whom the 957e252bfSMichael Neumann * Software is furnished to do so, subject to the following conditions: 1057e252bfSMichael Neumann * 1157e252bfSMichael Neumann * The above copyright notice and this permission notice shall be included in 1257e252bfSMichael Neumann * all copies or substantial portions of the Software. 1357e252bfSMichael Neumann * 1457e252bfSMichael Neumann * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1557e252bfSMichael Neumann * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1657e252bfSMichael Neumann * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 1757e252bfSMichael Neumann * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 1857e252bfSMichael Neumann * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 1957e252bfSMichael Neumann * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 2057e252bfSMichael Neumann * OTHER DEALINGS IN THE SOFTWARE. 2157e252bfSMichael Neumann * 2257e252bfSMichael Neumann */ 2357e252bfSMichael Neumann #ifndef __RADEON_UCODE_H__ 2457e252bfSMichael Neumann #define __RADEON_UCODE_H__ 2557e252bfSMichael Neumann 2657e252bfSMichael Neumann /* CP */ 2757e252bfSMichael Neumann #define R600_PFP_UCODE_SIZE 576 2857e252bfSMichael Neumann #define R600_PM4_UCODE_SIZE 1792 2957e252bfSMichael Neumann #define R700_PFP_UCODE_SIZE 848 3057e252bfSMichael Neumann #define R700_PM4_UCODE_SIZE 1360 3157e252bfSMichael Neumann #define EVERGREEN_PFP_UCODE_SIZE 1120 3257e252bfSMichael Neumann #define EVERGREEN_PM4_UCODE_SIZE 1376 3357e252bfSMichael Neumann #define CAYMAN_PFP_UCODE_SIZE 2176 3457e252bfSMichael Neumann #define CAYMAN_PM4_UCODE_SIZE 2176 3557e252bfSMichael Neumann #define SI_PFP_UCODE_SIZE 2144 3657e252bfSMichael Neumann #define SI_PM4_UCODE_SIZE 2144 3757e252bfSMichael Neumann #define SI_CE_UCODE_SIZE 2144 384cd92098Szrj #define CIK_PFP_UCODE_SIZE 2144 394cd92098Szrj #define CIK_ME_UCODE_SIZE 2144 404cd92098Szrj #define CIK_CE_UCODE_SIZE 2144 414cd92098Szrj 424cd92098Szrj /* MEC */ 434cd92098Szrj #define CIK_MEC_UCODE_SIZE 4192 4457e252bfSMichael Neumann 4557e252bfSMichael Neumann /* RLC */ 4657e252bfSMichael Neumann #define R600_RLC_UCODE_SIZE 768 4757e252bfSMichael Neumann #define R700_RLC_UCODE_SIZE 1024 4857e252bfSMichael Neumann #define EVERGREEN_RLC_UCODE_SIZE 768 4957e252bfSMichael Neumann #define CAYMAN_RLC_UCODE_SIZE 1024 5057e252bfSMichael Neumann #define ARUBA_RLC_UCODE_SIZE 1536 5157e252bfSMichael Neumann #define SI_RLC_UCODE_SIZE 2048 524cd92098Szrj #define BONAIRE_RLC_UCODE_SIZE 2048 534cd92098Szrj #define KB_RLC_UCODE_SIZE 2560 544cd92098Szrj #define KV_RLC_UCODE_SIZE 2560 55*c6f73aabSFrançois Tigeot #define ML_RLC_UCODE_SIZE 2560 5657e252bfSMichael Neumann 5757e252bfSMichael Neumann /* MC */ 5857e252bfSMichael Neumann #define BTC_MC_UCODE_SIZE 6024 5957e252bfSMichael Neumann #define CAYMAN_MC_UCODE_SIZE 6037 6057e252bfSMichael Neumann #define SI_MC_UCODE_SIZE 7769 61*c6f73aabSFrançois Tigeot #define TAHITI_MC_UCODE_SIZE 7808 62*c6f73aabSFrançois Tigeot #define PITCAIRN_MC_UCODE_SIZE 7775 63*c6f73aabSFrançois Tigeot #define VERDE_MC_UCODE_SIZE 7875 6457e252bfSMichael Neumann #define OLAND_MC_UCODE_SIZE 7863 65*c6f73aabSFrançois Tigeot #define BONAIRE_MC_UCODE_SIZE 7866 66*c6f73aabSFrançois Tigeot #define BONAIRE_MC2_UCODE_SIZE 7948 67*c6f73aabSFrançois Tigeot #define HAWAII_MC_UCODE_SIZE 7933 68*c6f73aabSFrançois Tigeot #define HAWAII_MC2_UCODE_SIZE 8091 694cd92098Szrj 704cd92098Szrj /* SDMA */ 714cd92098Szrj #define CIK_SDMA_UCODE_SIZE 1050 724cd92098Szrj #define CIK_SDMA_UCODE_VERSION 64 7357e252bfSMichael Neumann 7457e252bfSMichael Neumann /* SMC */ 7557e252bfSMichael Neumann #define RV770_SMC_UCODE_START 0x0100 7657e252bfSMichael Neumann #define RV770_SMC_UCODE_SIZE 0x410d 7757e252bfSMichael Neumann #define RV770_SMC_INT_VECTOR_START 0xffc0 7857e252bfSMichael Neumann #define RV770_SMC_INT_VECTOR_SIZE 0x0040 7957e252bfSMichael Neumann 8057e252bfSMichael Neumann #define RV730_SMC_UCODE_START 0x0100 8157e252bfSMichael Neumann #define RV730_SMC_UCODE_SIZE 0x412c 8257e252bfSMichael Neumann #define RV730_SMC_INT_VECTOR_START 0xffc0 8357e252bfSMichael Neumann #define RV730_SMC_INT_VECTOR_SIZE 0x0040 8457e252bfSMichael Neumann 8557e252bfSMichael Neumann #define RV710_SMC_UCODE_START 0x0100 8657e252bfSMichael Neumann #define RV710_SMC_UCODE_SIZE 0x3f1f 8757e252bfSMichael Neumann #define RV710_SMC_INT_VECTOR_START 0xffc0 8857e252bfSMichael Neumann #define RV710_SMC_INT_VECTOR_SIZE 0x0040 8957e252bfSMichael Neumann 9057e252bfSMichael Neumann #define RV740_SMC_UCODE_START 0x0100 9157e252bfSMichael Neumann #define RV740_SMC_UCODE_SIZE 0x41c5 9257e252bfSMichael Neumann #define RV740_SMC_INT_VECTOR_START 0xffc0 9357e252bfSMichael Neumann #define RV740_SMC_INT_VECTOR_SIZE 0x0040 9457e252bfSMichael Neumann 9557e252bfSMichael Neumann #define CEDAR_SMC_UCODE_START 0x0100 9657e252bfSMichael Neumann #define CEDAR_SMC_UCODE_SIZE 0x5d50 9757e252bfSMichael Neumann #define CEDAR_SMC_INT_VECTOR_START 0xffc0 9857e252bfSMichael Neumann #define CEDAR_SMC_INT_VECTOR_SIZE 0x0040 9957e252bfSMichael Neumann 10057e252bfSMichael Neumann #define REDWOOD_SMC_UCODE_START 0x0100 10157e252bfSMichael Neumann #define REDWOOD_SMC_UCODE_SIZE 0x5f0a 10257e252bfSMichael Neumann #define REDWOOD_SMC_INT_VECTOR_START 0xffc0 10357e252bfSMichael Neumann #define REDWOOD_SMC_INT_VECTOR_SIZE 0x0040 10457e252bfSMichael Neumann 10557e252bfSMichael Neumann #define JUNIPER_SMC_UCODE_START 0x0100 10657e252bfSMichael Neumann #define JUNIPER_SMC_UCODE_SIZE 0x5f1f 10757e252bfSMichael Neumann #define JUNIPER_SMC_INT_VECTOR_START 0xffc0 10857e252bfSMichael Neumann #define JUNIPER_SMC_INT_VECTOR_SIZE 0x0040 10957e252bfSMichael Neumann 11057e252bfSMichael Neumann #define CYPRESS_SMC_UCODE_START 0x0100 11157e252bfSMichael Neumann #define CYPRESS_SMC_UCODE_SIZE 0x61f7 11257e252bfSMichael Neumann #define CYPRESS_SMC_INT_VECTOR_START 0xffc0 11357e252bfSMichael Neumann #define CYPRESS_SMC_INT_VECTOR_SIZE 0x0040 11457e252bfSMichael Neumann 11557e252bfSMichael Neumann #define BARTS_SMC_UCODE_START 0x0100 11657e252bfSMichael Neumann #define BARTS_SMC_UCODE_SIZE 0x6107 11757e252bfSMichael Neumann #define BARTS_SMC_INT_VECTOR_START 0xffc0 11857e252bfSMichael Neumann #define BARTS_SMC_INT_VECTOR_SIZE 0x0040 11957e252bfSMichael Neumann 12057e252bfSMichael Neumann #define TURKS_SMC_UCODE_START 0x0100 12157e252bfSMichael Neumann #define TURKS_SMC_UCODE_SIZE 0x605b 12257e252bfSMichael Neumann #define TURKS_SMC_INT_VECTOR_START 0xffc0 12357e252bfSMichael Neumann #define TURKS_SMC_INT_VECTOR_SIZE 0x0040 12457e252bfSMichael Neumann 12557e252bfSMichael Neumann #define CAICOS_SMC_UCODE_START 0x0100 12657e252bfSMichael Neumann #define CAICOS_SMC_UCODE_SIZE 0x5fbd 12757e252bfSMichael Neumann #define CAICOS_SMC_INT_VECTOR_START 0xffc0 12857e252bfSMichael Neumann #define CAICOS_SMC_INT_VECTOR_SIZE 0x0040 12957e252bfSMichael Neumann 13057e252bfSMichael Neumann #define CAYMAN_SMC_UCODE_START 0x0100 13157e252bfSMichael Neumann #define CAYMAN_SMC_UCODE_SIZE 0x79ec 13257e252bfSMichael Neumann #define CAYMAN_SMC_INT_VECTOR_START 0xffc0 13357e252bfSMichael Neumann #define CAYMAN_SMC_INT_VECTOR_SIZE 0x0040 13457e252bfSMichael Neumann 13557e252bfSMichael Neumann #define TAHITI_SMC_UCODE_START 0x10000 13657e252bfSMichael Neumann #define TAHITI_SMC_UCODE_SIZE 0xf458 13757e252bfSMichael Neumann 13857e252bfSMichael Neumann #define PITCAIRN_SMC_UCODE_START 0x10000 13957e252bfSMichael Neumann #define PITCAIRN_SMC_UCODE_SIZE 0xe9f4 14057e252bfSMichael Neumann 14157e252bfSMichael Neumann #define VERDE_SMC_UCODE_START 0x10000 14257e252bfSMichael Neumann #define VERDE_SMC_UCODE_SIZE 0xebe4 14357e252bfSMichael Neumann 14457e252bfSMichael Neumann #define OLAND_SMC_UCODE_START 0x10000 14557e252bfSMichael Neumann #define OLAND_SMC_UCODE_SIZE 0xe7b4 14657e252bfSMichael Neumann 14757e252bfSMichael Neumann #define HAINAN_SMC_UCODE_START 0x10000 14857e252bfSMichael Neumann #define HAINAN_SMC_UCODE_SIZE 0xe67C 14957e252bfSMichael Neumann 1504cd92098Szrj #define BONAIRE_SMC_UCODE_START 0x20000 1514cd92098Szrj #define BONAIRE_SMC_UCODE_SIZE 0x1FDEC 1524cd92098Szrj 153*c6f73aabSFrançois Tigeot #define HAWAII_SMC_UCODE_START 0x20000 154*c6f73aabSFrançois Tigeot #define HAWAII_SMC_UCODE_SIZE 0x1FDEC 155*c6f73aabSFrançois Tigeot 15657e252bfSMichael Neumann #endif 157