19d4fa1a1SMauro Carvalho Chehab /* 29d4fa1a1SMauro Carvalho Chehab * Support for Intel Camera Imaging ISP subsystem. 39d4fa1a1SMauro Carvalho Chehab * Copyright (c) 2015, Intel Corporation. 49d4fa1a1SMauro Carvalho Chehab * 59d4fa1a1SMauro Carvalho Chehab * This program is free software; you can redistribute it and/or modify it 69d4fa1a1SMauro Carvalho Chehab * under the terms and conditions of the GNU General Public License, 79d4fa1a1SMauro Carvalho Chehab * version 2, as published by the Free Software Foundation. 89d4fa1a1SMauro Carvalho Chehab * 99d4fa1a1SMauro Carvalho Chehab * This program is distributed in the hope it will be useful, but WITHOUT 109d4fa1a1SMauro Carvalho Chehab * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 119d4fa1a1SMauro Carvalho Chehab * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 129d4fa1a1SMauro Carvalho Chehab * more details. 139d4fa1a1SMauro Carvalho Chehab */ 149d4fa1a1SMauro Carvalho Chehab 159d4fa1a1SMauro Carvalho Chehab #include <type_support.h> 169d4fa1a1SMauro Carvalho Chehab #include <string_support.h> /* memcpy */ 179d4fa1a1SMauro Carvalho Chehab #include "system_global.h" 189d4fa1a1SMauro Carvalho Chehab #include "vamem.h" 199d4fa1a1SMauro Carvalho Chehab #include "ia_css_types.h" 209d4fa1a1SMauro Carvalho Chehab #include "ia_css_xnr_table.host.h" 219d4fa1a1SMauro Carvalho Chehab 229d4fa1a1SMauro Carvalho Chehab struct ia_css_xnr_table default_xnr_table; 239d4fa1a1SMauro Carvalho Chehab 249d4fa1a1SMauro Carvalho Chehab #if defined(HAS_VAMEM_VERSION_2) 259d4fa1a1SMauro Carvalho Chehab 269d4fa1a1SMauro Carvalho Chehab static const uint16_t 279d4fa1a1SMauro Carvalho Chehab default_xnr_table_data[IA_CSS_VAMEM_2_XNR_TABLE_SIZE] = { 289d4fa1a1SMauro Carvalho Chehab /* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ 299d4fa1a1SMauro Carvalho Chehab 8191 >> 1, 4096 >> 1, 2730 >> 1, 2048 >> 1, 1638 >> 1, 1365 >> 1, 1170 >> 1, 1024 >> 1, 910 >> 1, 819 >> 1, 744 >> 1, 682 >> 1, 630 >> 1, 585 >> 1, 309d4fa1a1SMauro Carvalho Chehab 546 >> 1, 512 >> 1, 319d4fa1a1SMauro Carvalho Chehab 329d4fa1a1SMauro Carvalho Chehab /* 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 */ 339d4fa1a1SMauro Carvalho Chehab 481 >> 1, 455 >> 1, 431 >> 1, 409 >> 1, 390 >> 1, 372 >> 1, 356 >> 1, 341 >> 1, 327 >> 1, 315 >> 1, 303 >> 1, 292 >> 1, 282 >> 1, 273 >> 1, 264 >> 1, 349d4fa1a1SMauro Carvalho Chehab 256 >> 1, 359d4fa1a1SMauro Carvalho Chehab 369d4fa1a1SMauro Carvalho Chehab /* 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 */ 379d4fa1a1SMauro Carvalho Chehab 248 >> 1, 240 >> 1, 234 >> 1, 227 >> 1, 221 >> 1, 215 >> 1, 210 >> 1, 204 >> 1, 199 >> 1, 195 >> 1, 190 >> 1, 186 >> 1, 182 >> 1, 178 >> 1, 174 >> 1, 389d4fa1a1SMauro Carvalho Chehab 170 >> 1, 399d4fa1a1SMauro Carvalho Chehab 409d4fa1a1SMauro Carvalho Chehab /* 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 */ 419d4fa1a1SMauro Carvalho Chehab 167 >> 1, 163 >> 1, 160 >> 1, 157 >> 1, 154 >> 1, 151 >> 1, 148 >> 1, 146 >> 1, 143 >> 1, 141 >> 1, 138 >> 1, 136 >> 1, 134 >> 1, 132 >> 1, 130 >> 1, 128 >> 1 429d4fa1a1SMauro Carvalho Chehab }; 439d4fa1a1SMauro Carvalho Chehab 449d4fa1a1SMauro Carvalho Chehab #elif defined(HAS_VAMEM_VERSION_1) 459d4fa1a1SMauro Carvalho Chehab 469d4fa1a1SMauro Carvalho Chehab static const uint16_t 479d4fa1a1SMauro Carvalho Chehab default_xnr_table_data[IA_CSS_VAMEM_1_XNR_TABLE_SIZE] = { 489d4fa1a1SMauro Carvalho Chehab /* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ 499d4fa1a1SMauro Carvalho Chehab 8191 >> 1, 4096 >> 1, 2730 >> 1, 2048 >> 1, 1638 >> 1, 1365 >> 1, 1170 >> 1, 1024 >> 1, 910 >> 1, 819 >> 1, 744 >> 1, 682 >> 1, 630 >> 1, 585 >> 1, 509d4fa1a1SMauro Carvalho Chehab 546 >> 1, 512 >> 1, 519d4fa1a1SMauro Carvalho Chehab 529d4fa1a1SMauro Carvalho Chehab /* 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 */ 539d4fa1a1SMauro Carvalho Chehab 481 >> 1, 455 >> 1, 431 >> 1, 409 >> 1, 390 >> 1, 372 >> 1, 356 >> 1, 341 >> 1, 327 >> 1, 315 >> 1, 303 >> 1, 292 >> 1, 282 >> 1, 273 >> 1, 264 >> 1, 549d4fa1a1SMauro Carvalho Chehab 256 >> 1, 559d4fa1a1SMauro Carvalho Chehab 569d4fa1a1SMauro Carvalho Chehab /* 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 */ 579d4fa1a1SMauro Carvalho Chehab 248 >> 1, 240 >> 1, 234 >> 1, 227 >> 1, 221 >> 1, 215 >> 1, 210 >> 1, 204 >> 1, 199 >> 1, 195 >> 1, 190 >> 1, 186 >> 1, 182 >> 1, 178 >> 1, 174 >> 1, 589d4fa1a1SMauro Carvalho Chehab 170 >> 1, 599d4fa1a1SMauro Carvalho Chehab 609d4fa1a1SMauro Carvalho Chehab /* 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 */ 619d4fa1a1SMauro Carvalho Chehab 167 >> 1, 163 >> 1, 160 >> 1, 157 >> 1, 154 >> 1, 151 >> 1, 148 >> 1, 146 >> 1, 143 >> 1, 141 >> 1, 138 >> 1, 136 >> 1, 134 >> 1, 132 >> 1, 130 >> 1, 128 >> 1 629d4fa1a1SMauro Carvalho Chehab }; 639d4fa1a1SMauro Carvalho Chehab 649d4fa1a1SMauro Carvalho Chehab #else 659d4fa1a1SMauro Carvalho Chehab #error "sh_css_params.c: VAMEM version must \ 669d4fa1a1SMauro Carvalho Chehab be one of {VAMEM_VERSION_1, VAMEM_VERSION_2}" 679d4fa1a1SMauro Carvalho Chehab #endif 689d4fa1a1SMauro Carvalho Chehab 699d4fa1a1SMauro Carvalho Chehab void 709d4fa1a1SMauro Carvalho Chehab ia_css_config_xnr_table(void) 719d4fa1a1SMauro Carvalho Chehab { 729d4fa1a1SMauro Carvalho Chehab #if defined(HAS_VAMEM_VERSION_2) 739d4fa1a1SMauro Carvalho Chehab memcpy(default_xnr_table.data.vamem_2, default_xnr_table_data, 749d4fa1a1SMauro Carvalho Chehab sizeof(default_xnr_table_data)); 759d4fa1a1SMauro Carvalho Chehab default_xnr_table.vamem_type = IA_CSS_VAMEM_TYPE_2; 769d4fa1a1SMauro Carvalho Chehab #else 779d4fa1a1SMauro Carvalho Chehab memcpy(default_xnr_table.data.vamem_1, default_xnr_table_data, 789d4fa1a1SMauro Carvalho Chehab sizeof(default_xnr_table_data)); 799d4fa1a1SMauro Carvalho Chehab default_xnr_table.vamem_type = IA_CSS_VAMEM_TYPE_1; 809d4fa1a1SMauro Carvalho Chehab #endif 819d4fa1a1SMauro Carvalho Chehab } 82