1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * drivers/media/i2c/smiapp/smiapp-reg.h 4 * 5 * Generic driver for SMIA/SMIA++ compliant camera modules 6 * 7 * Copyright (C) 2011--2012 Nokia Corporation 8 * Contact: Sakari Ailus <sakari.ailus@iki.fi> 9 */ 10 11 #ifndef __SMIAPP_REG_H_ 12 #define __SMIAPP_REG_H_ 13 14 #include "smiapp-reg-defs.h" 15 16 /* Bits for above register */ 17 #define SMIAPP_IMAGE_ORIENTATION_HFLIP (1 << 0) 18 #define SMIAPP_IMAGE_ORIENTATION_VFLIP (1 << 1) 19 20 #define SMIAPP_DATA_TRANSFER_IF_1_CTRL_EN (1 << 0) 21 #define SMIAPP_DATA_TRANSFER_IF_1_CTRL_RD_EN (0 << 1) 22 #define SMIAPP_DATA_TRANSFER_IF_1_CTRL_WR_EN (1 << 1) 23 #define SMIAPP_DATA_TRANSFER_IF_1_CTRL_ERR_CLEAR (1 << 2) 24 #define SMIAPP_DATA_TRANSFER_IF_1_STATUS_RD_READY (1 << 0) 25 #define SMIAPP_DATA_TRANSFER_IF_1_STATUS_WR_READY (1 << 1) 26 #define SMIAPP_DATA_TRANSFER_IF_1_STATUS_EDATA (1 << 2) 27 #define SMIAPP_DATA_TRANSFER_IF_1_STATUS_EUSAGE (1 << 3) 28 29 #define SMIAPP_SOFTWARE_RESET (1 << 0) 30 31 #define SMIAPP_FLASH_MODE_CAPABILITY_SINGLE_STROBE (1 << 0) 32 #define SMIAPP_FLASH_MODE_CAPABILITY_MULTIPLE_STROBE (1 << 1) 33 34 #define SMIAPP_DPHY_CTRL_AUTOMATIC 0 35 /* DPHY control based on REQUESTED_LINK_BIT_RATE_MBPS */ 36 #define SMIAPP_DPHY_CTRL_UI 1 37 #define SMIAPP_DPHY_CTRL_REGISTER 2 38 39 #define SMIAPP_COMPRESSION_MODE_SIMPLE_PREDICTOR 1 40 #define SMIAPP_COMPRESSION_MODE_ADVANCED_PREDICTOR 2 41 42 #define SMIAPP_MODE_SELECT_SOFTWARE_STANDBY 0 43 #define SMIAPP_MODE_SELECT_STREAMING 1 44 45 #define SMIAPP_SCALING_MODE_NONE 0 46 #define SMIAPP_SCALING_MODE_HORIZONTAL 1 47 #define SMIAPP_SCALING_MODE_BOTH 2 48 49 #define SMIAPP_SCALING_CAPABILITY_NONE 0 50 #define SMIAPP_SCALING_CAPABILITY_HORIZONTAL 1 51 #define SMIAPP_SCALING_CAPABILITY_BOTH 2 /* horizontal/both */ 52 53 /* digital crop right before scaler */ 54 #define SMIAPP_DIGITAL_CROP_CAPABILITY_NONE 0 55 #define SMIAPP_DIGITAL_CROP_CAPABILITY_INPUT_CROP 1 56 57 #define SMIAPP_BINNING_CAPABILITY_NO 0 58 #define SMIAPP_BINNING_CAPABILITY_YES 1 59 60 /* Maximum number of binning subtypes */ 61 #define SMIAPP_BINNING_SUBTYPES 253 62 63 #define SMIAPP_PIXEL_ORDER_GRBG 0 64 #define SMIAPP_PIXEL_ORDER_RGGB 1 65 #define SMIAPP_PIXEL_ORDER_BGGR 2 66 #define SMIAPP_PIXEL_ORDER_GBRG 3 67 68 #define SMIAPP_DATA_FORMAT_MODEL_TYPE_NORMAL 1 69 #define SMIAPP_DATA_FORMAT_MODEL_TYPE_EXTENDED 2 70 #define SMIAPP_DATA_FORMAT_MODEL_TYPE_NORMAL_N 8 71 #define SMIAPP_DATA_FORMAT_MODEL_TYPE_EXTENDED_N 16 72 73 #define SMIAPP_FRAME_FORMAT_MODEL_TYPE_2BYTE 0x01 74 #define SMIAPP_FRAME_FORMAT_MODEL_TYPE_4BYTE 0x02 75 #define SMIAPP_FRAME_FORMAT_MODEL_SUBTYPE_NROWS_MASK 0x0f 76 #define SMIAPP_FRAME_FORMAT_MODEL_SUBTYPE_NCOLS_MASK 0xf0 77 #define SMIAPP_FRAME_FORMAT_MODEL_SUBTYPE_NCOLS_SHIFT 4 78 79 #define SMIAPP_FRAME_FORMAT_DESC_2_PIXELCODE_MASK 0xf000 80 #define SMIAPP_FRAME_FORMAT_DESC_2_PIXELCODE_SHIFT 12 81 #define SMIAPP_FRAME_FORMAT_DESC_2_PIXELS_MASK 0x0fff 82 83 #define SMIAPP_FRAME_FORMAT_DESC_4_PIXELCODE_MASK 0xf0000000 84 #define SMIAPP_FRAME_FORMAT_DESC_4_PIXELCODE_SHIFT 28 85 #define SMIAPP_FRAME_FORMAT_DESC_4_PIXELS_MASK 0x0000ffff 86 87 #define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_EMBEDDED 1 88 #define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_DUMMY 2 89 #define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_BLACK 3 90 #define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_DARK 4 91 #define SMIAPP_FRAME_FORMAT_DESC_PIXELCODE_VISIBLE 5 92 93 #define SMIAPP_FAST_STANDBY_CTRL_COMPLETE_FRAMES 0 94 #define SMIAPP_FAST_STANDBY_CTRL_IMMEDIATE 1 95 96 /* Scaling N factor */ 97 #define SMIAPP_SCALE_N 16 98 99 /* Image statistics registers */ 100 /* Registers 0x2000 to 0x2fff are reserved for future 101 * use for statistics features. 102 */ 103 104 /* Manufacturer Specific Registers: 0x3000 to 0x3fff 105 * The manufacturer specifies these as a black box. 106 */ 107 108 #endif /* __SMIAPP_REG_H_ */ 109