1*e7b8153eSMauro Carvalho Chehab /* SPDX-License-Identifier: GPL-2.0 */ 2*e7b8153eSMauro Carvalho Chehab /* 3*e7b8153eSMauro Carvalho Chehab * Copyright (C) STMicroelectronics SA 2015 4*e7b8153eSMauro Carvalho Chehab * Author: Hugues Fruchet <hugues.fruchet@st.com> for STMicroelectronics. 5*e7b8153eSMauro Carvalho Chehab */ 6*e7b8153eSMauro Carvalho Chehab 7*e7b8153eSMauro Carvalho Chehab #ifndef DELTA_CFG_H 8*e7b8153eSMauro Carvalho Chehab #define DELTA_CFG_H 9*e7b8153eSMauro Carvalho Chehab 10*e7b8153eSMauro Carvalho Chehab #define DELTA_FW_VERSION "21.1-3" 11*e7b8153eSMauro Carvalho Chehab 12*e7b8153eSMauro Carvalho Chehab #define DELTA_MIN_WIDTH 32 13*e7b8153eSMauro Carvalho Chehab #define DELTA_MAX_WIDTH 4096 14*e7b8153eSMauro Carvalho Chehab #define DELTA_MIN_HEIGHT 32 15*e7b8153eSMauro Carvalho Chehab #define DELTA_MAX_HEIGHT 2400 16*e7b8153eSMauro Carvalho Chehab 17*e7b8153eSMauro Carvalho Chehab /* DELTA requires a 32x32 pixels alignment for frames */ 18*e7b8153eSMauro Carvalho Chehab #define DELTA_WIDTH_ALIGNMENT 32 19*e7b8153eSMauro Carvalho Chehab #define DELTA_HEIGHT_ALIGNMENT 32 20*e7b8153eSMauro Carvalho Chehab 21*e7b8153eSMauro Carvalho Chehab #define DELTA_DEFAULT_WIDTH DELTA_MIN_WIDTH 22*e7b8153eSMauro Carvalho Chehab #define DELTA_DEFAULT_HEIGHT DELTA_MIN_HEIGHT 23*e7b8153eSMauro Carvalho Chehab #define DELTA_DEFAULT_FRAMEFORMAT V4L2_PIX_FMT_NV12 24*e7b8153eSMauro Carvalho Chehab #define DELTA_DEFAULT_STREAMFORMAT V4L2_PIX_FMT_MJPEG 25*e7b8153eSMauro Carvalho Chehab 26*e7b8153eSMauro Carvalho Chehab #define DELTA_MAX_RESO (DELTA_MAX_WIDTH * DELTA_MAX_HEIGHT) 27*e7b8153eSMauro Carvalho Chehab 28*e7b8153eSMauro Carvalho Chehab /* guard value for number of access units */ 29*e7b8153eSMauro Carvalho Chehab #define DELTA_MAX_AUS 10 30*e7b8153eSMauro Carvalho Chehab 31*e7b8153eSMauro Carvalho Chehab /* IP perf dependent, can be tuned */ 32*e7b8153eSMauro Carvalho Chehab #define DELTA_PEAK_FRAME_SMOOTHING 2 33*e7b8153eSMauro Carvalho Chehab 34*e7b8153eSMauro Carvalho Chehab /* 35*e7b8153eSMauro Carvalho Chehab * guard output frame count: 36*e7b8153eSMauro Carvalho Chehab * - at least 1 frame needed for display 37*e7b8153eSMauro Carvalho Chehab * - at worst 21 38*e7b8153eSMauro Carvalho Chehab * ( max h264 dpb (16) + 39*e7b8153eSMauro Carvalho Chehab * decoding peak smoothing (2) + 40*e7b8153eSMauro Carvalho Chehab * user display pipeline (3) ) 41*e7b8153eSMauro Carvalho Chehab */ 42*e7b8153eSMauro Carvalho Chehab #define DELTA_MIN_FRAME_USER 1 43*e7b8153eSMauro Carvalho Chehab #define DELTA_MAX_DPB 16 44*e7b8153eSMauro Carvalho Chehab #define DELTA_MAX_FRAME_USER 3 /* platform/use-case dependent */ 45*e7b8153eSMauro Carvalho Chehab #define DELTA_MAX_FRAMES (DELTA_MAX_DPB + DELTA_PEAK_FRAME_SMOOTHING +\ 46*e7b8153eSMauro Carvalho Chehab DELTA_MAX_FRAME_USER) 47*e7b8153eSMauro Carvalho Chehab 48*e7b8153eSMauro Carvalho Chehab #if DELTA_MAX_FRAMES > VIDEO_MAX_FRAME 49*e7b8153eSMauro Carvalho Chehab #undef DELTA_MAX_FRAMES 50*e7b8153eSMauro Carvalho Chehab #define DELTA_MAX_FRAMES (VIDEO_MAX_FRAME) 51*e7b8153eSMauro Carvalho Chehab #endif 52*e7b8153eSMauro Carvalho Chehab 53*e7b8153eSMauro Carvalho Chehab /* extra space to be allocated to store codec specific data per frame */ 54*e7b8153eSMauro Carvalho Chehab #define DELTA_MAX_FRAME_PRIV_SIZE 100 55*e7b8153eSMauro Carvalho Chehab 56*e7b8153eSMauro Carvalho Chehab /* PM runtime auto power-off after 5ms of inactivity */ 57*e7b8153eSMauro Carvalho Chehab #define DELTA_HW_AUTOSUSPEND_DELAY_MS 5 58*e7b8153eSMauro Carvalho Chehab 59*e7b8153eSMauro Carvalho Chehab #define DELTA_MAX_DECODERS 10 60*e7b8153eSMauro Carvalho Chehab #ifdef CONFIG_VIDEO_STI_DELTA_MJPEG 61*e7b8153eSMauro Carvalho Chehab extern const struct delta_dec mjpegdec; 62*e7b8153eSMauro Carvalho Chehab #endif 63*e7b8153eSMauro Carvalho Chehab 64*e7b8153eSMauro Carvalho Chehab #endif /* DELTA_CFG_H */ 65