1f5fbb83fSMauro Carvalho Chehab /* SPDX-License-Identifier: GPL-2.0 */ 29d4fa1a1SMauro Carvalho Chehab /* 39d4fa1a1SMauro Carvalho Chehab * Support for Medifield PNW Camera Imaging ISP subsystem. 49d4fa1a1SMauro Carvalho Chehab * 59d4fa1a1SMauro Carvalho Chehab * Copyright (c) 2010 Intel Corporation. All Rights Reserved. 69d4fa1a1SMauro Carvalho Chehab * 79d4fa1a1SMauro Carvalho Chehab * Copyright (c) 2010 Silicon Hive www.siliconhive.com. 89d4fa1a1SMauro Carvalho Chehab * 99d4fa1a1SMauro Carvalho Chehab * This program is free software; you can redistribute it and/or 109d4fa1a1SMauro Carvalho Chehab * modify it under the terms of the GNU General Public License version 119d4fa1a1SMauro Carvalho Chehab * 2 as published by the Free Software Foundation. 129d4fa1a1SMauro Carvalho Chehab * 139d4fa1a1SMauro Carvalho Chehab * This program is distributed in the hope that it will be useful, 149d4fa1a1SMauro Carvalho Chehab * but WITHOUT ANY WARRANTY; without even the implied warranty of 159d4fa1a1SMauro Carvalho Chehab * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 169d4fa1a1SMauro Carvalho Chehab * GNU General Public License for more details. 179d4fa1a1SMauro Carvalho Chehab * 189d4fa1a1SMauro Carvalho Chehab * 199d4fa1a1SMauro Carvalho Chehab */ 209d4fa1a1SMauro Carvalho Chehab 219d4fa1a1SMauro Carvalho Chehab #ifndef __ATOMISP_COMMON_H__ 229d4fa1a1SMauro Carvalho Chehab #define __ATOMISP_COMMON_H__ 239d4fa1a1SMauro Carvalho Chehab 249d4fa1a1SMauro Carvalho Chehab #include "../../include/linux/atomisp.h" 259d4fa1a1SMauro Carvalho Chehab 269d4fa1a1SMauro Carvalho Chehab #include <linux/v4l2-mediabus.h> 279d4fa1a1SMauro Carvalho Chehab 28cb48ae89SHans de Goede #include <media/videobuf2-v4l2.h> 299d4fa1a1SMauro Carvalho Chehab 309d4fa1a1SMauro Carvalho Chehab #include "atomisp_compat.h" 319d4fa1a1SMauro Carvalho Chehab 329d4fa1a1SMauro Carvalho Chehab #include "ia_css.h" 339d4fa1a1SMauro Carvalho Chehab 349d4fa1a1SMauro Carvalho Chehab extern int dbg_level; 359d4fa1a1SMauro Carvalho Chehab extern int dbg_func; 369d4fa1a1SMauro Carvalho Chehab extern int mipicsi_flag; 379d4fa1a1SMauro Carvalho Chehab extern int pad_w; 389d4fa1a1SMauro Carvalho Chehab extern int pad_h; 399d4fa1a1SMauro Carvalho Chehab 40*72f0ba79SHans de Goede /* Minimum padding requirements for ISP2400 (BYT) */ 41*72f0ba79SHans de Goede #define ISP2400_MIN_PAD_W 12 42*72f0ba79SHans de Goede #define ISP2400_MIN_PAD_H 12 43*72f0ba79SHans de Goede 449d4fa1a1SMauro Carvalho Chehab #define CSS_DTRACE_VERBOSITY_LEVEL 5 /* Controls trace verbosity */ 459d4fa1a1SMauro Carvalho Chehab #define CSS_DTRACE_VERBOSITY_TIMEOUT 9 /* Verbosity on ISP timeout */ 469d4fa1a1SMauro Carvalho Chehab #define MRFLD_MAX_ZOOM_FACTOR 1024 479d4fa1a1SMauro Carvalho Chehab 489d4fa1a1SMauro Carvalho Chehab /* ISP2401 */ 499d4fa1a1SMauro Carvalho Chehab #define ATOMISP_CSS_ISP_PIPE_VERSION_2_7 1 509d4fa1a1SMauro Carvalho Chehab 519d4fa1a1SMauro Carvalho Chehab struct atomisp_format_bridge { 529d4fa1a1SMauro Carvalho Chehab unsigned int pixelformat; 539d4fa1a1SMauro Carvalho Chehab unsigned int depth; 549d4fa1a1SMauro Carvalho Chehab u32 mbus_code; 55c01d5546SMauro Carvalho Chehab enum ia_css_frame_format sh_fmt; 569d4fa1a1SMauro Carvalho Chehab unsigned char description[32]; /* the same as struct v4l2_fmtdesc */ 579d4fa1a1SMauro Carvalho Chehab bool planar; 589d4fa1a1SMauro Carvalho Chehab }; 599d4fa1a1SMauro Carvalho Chehab 609d4fa1a1SMauro Carvalho Chehab struct atomisp_fmt { 619d4fa1a1SMauro Carvalho Chehab u32 pixelformat; 629d4fa1a1SMauro Carvalho Chehab u32 depth; 639d4fa1a1SMauro Carvalho Chehab u32 bytesperline; 649d4fa1a1SMauro Carvalho Chehab u32 framesize; 659d4fa1a1SMauro Carvalho Chehab u32 imagesize; 669d4fa1a1SMauro Carvalho Chehab u32 width; 679d4fa1a1SMauro Carvalho Chehab u32 height; 689d4fa1a1SMauro Carvalho Chehab u32 bayer_order; 699d4fa1a1SMauro Carvalho Chehab }; 709d4fa1a1SMauro Carvalho Chehab 719d4fa1a1SMauro Carvalho Chehab #endif 72