1 /* 2 * Copyright © 2023 Imagination Technologies Ltd. 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining a copy 5 * of this software and associated documentation files (the "Software"), to deal 6 * in the Software without restriction, including without limitation the rights 7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 * copies of the Software, and to permit persons to whom the Software is 9 * furnished to do so, subject to the following conditions: 10 * 11 * The above copyright notice and this permission notice (including the next 12 * paragraph) shall be included in all copies or substantial portions of the 13 * Software. 14 * 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 * SOFTWARE. 22 */ 23 24 #ifndef GX6250_H 25 #define GX6250_H 26 27 #include <stdbool.h> 28 29 #include "pvr_device_info.h" 30 31 static const struct pvr_device_ident pvr_device_ident_4_V_2_51 = { 32 .device_id = 0x6250, 33 .series_name = "Rogue", 34 .public_name = "GX6250", 35 }; 36 37 static const struct pvr_device_features pvr_device_features_4_V_2_51 = { 38 .has_astc = true, 39 .has_cluster_grouping = true, 40 .has_common_store_size_in_dwords = true, 41 .has_compute = true, 42 .has_compute_morton_capable = true, 43 .has_compute_overlap = true, 44 .has_eight_output_registers = true, 45 .has_fbcdc_algorithm = true, 46 .has_gs_rta_support = true, 47 .has_isp_max_tiles_in_flight = true, 48 .has_isp_samples_per_pixel = true, 49 .has_max_instances_per_pds_task = true, 50 .has_max_multisample = true, 51 .has_max_partitions = true, 52 .has_max_usc_tasks = true, 53 .has_num_clusters = true, 54 .has_num_raster_pipes = true, 55 .has_num_user_clip_planes = true, 56 .has_pbe_filterable_f16 = true, 57 .has_pbe_yuv = true, 58 .has_slc_cache_line_size_bits = true, 59 .has_slc_mcu_cache_controls = true, 60 .has_tf_bicubic_filter = true, 61 .has_tile_size_x = true, 62 .has_tile_size_y = true, 63 .has_tpu_array_textures = true, 64 .has_tpu_extended_integer_lookup = true, 65 .has_tpu_image_state_v2 = true, 66 .has_unified_store_depth = true, 67 .has_usc_f16sop_u8 = true, 68 .has_usc_itrsmp = true, 69 .has_usc_min_output_registers_per_pix = true, 70 .has_usc_slots = true, 71 .has_uvs_banks = true, 72 .has_uvs_pba_entries = true, 73 .has_uvs_vtx_entries = true, 74 .has_vdm_cam_size = true, 75 .has_xt_top_infrastructure = true, 76 .has_zls_subtile = true, 77 78 .common_store_size_in_dwords = 1280U * 4U * 4U, 79 .fbcdc_algorithm = 2, 80 .isp_max_tiles_in_flight = 4U, 81 .isp_samples_per_pixel = 2U, 82 .max_instances_per_pds_task = 32U, 83 .max_multisample = 8U, 84 .max_partitions = 8U, 85 .max_usc_tasks = 56U, 86 .num_clusters = 2U, 87 .num_raster_pipes = 1U, 88 .num_user_clip_planes = 8U, 89 .slc_cache_line_size_bits = 512U, 90 .tile_size_x = 32U, 91 .tile_size_y = 32U, 92 .unified_store_depth = 256U, 93 .usc_min_output_registers_per_pix = 2U, 94 .usc_slots = 32U, 95 .uvs_banks = 8U, 96 .uvs_pba_entries = 320U, 97 .uvs_vtx_entries = 288U, 98 .vdm_cam_size = 256U, 99 100 .has_requires_fb_cdc_zls_setup = true, 101 .has_usc_itr_parallel_instances = true, 102 103 .usc_itr_parallel_instances = 8U, 104 }; 105 106 static const struct pvr_device_enhancements pvr_device_enhancements_4_40_2_51 = { 107 .has_ern35421 = true, 108 .has_ern38020 = true, 109 .has_ern38748 = true, 110 .has_ern42064 = true, 111 .has_ern42307 = true, 112 }; 113 114 static const struct pvr_device_quirks pvr_device_quirks_4_40_2_51 = { 115 .has_brn44079 = true, 116 .has_brn47727 = true, 117 .has_brn48492 = true, 118 .has_brn48545 = true, 119 .has_brn49032 = true, 120 .has_brn49927 = true, 121 .has_brn51025 = true, 122 .has_brn51210 = true, 123 .has_brn51764 = true, 124 .has_brn52354 = true, 125 .has_brn52942 = true, 126 .has_brn58839 = true, 127 .has_brn62269 = true, 128 .has_brn66011 = true, 129 .has_brn70165 = true, 130 }; 131 132 #endif /* GX6250_H */ 133