162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * ispreg.h 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * TI OMAP3 ISP - Registers definitions 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * Copyright (C) 2010 Nokia Corporation 862306a36Sopenharmony_ci * Copyright (C) 2009 Texas Instruments, Inc 962306a36Sopenharmony_ci * 1062306a36Sopenharmony_ci * Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com> 1162306a36Sopenharmony_ci * Sakari Ailus <sakari.ailus@iki.fi> 1262306a36Sopenharmony_ci */ 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci#ifndef OMAP3_ISP_REG_H 1562306a36Sopenharmony_ci#define OMAP3_ISP_REG_H 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci#define CM_CAM_MCLK_HZ 172800000 /* Hz */ 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci/* ISP module register offset */ 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci#define ISP_REVISION (0x000) 2262306a36Sopenharmony_ci#define ISP_SYSCONFIG (0x004) 2362306a36Sopenharmony_ci#define ISP_SYSSTATUS (0x008) 2462306a36Sopenharmony_ci#define ISP_IRQ0ENABLE (0x00C) 2562306a36Sopenharmony_ci#define ISP_IRQ0STATUS (0x010) 2662306a36Sopenharmony_ci#define ISP_IRQ1ENABLE (0x014) 2762306a36Sopenharmony_ci#define ISP_IRQ1STATUS (0x018) 2862306a36Sopenharmony_ci#define ISP_TCTRL_GRESET_LENGTH (0x030) 2962306a36Sopenharmony_ci#define ISP_TCTRL_PSTRB_REPLAY (0x034) 3062306a36Sopenharmony_ci#define ISP_CTRL (0x040) 3162306a36Sopenharmony_ci#define ISP_SECURE (0x044) 3262306a36Sopenharmony_ci#define ISP_TCTRL_CTRL (0x050) 3362306a36Sopenharmony_ci#define ISP_TCTRL_FRAME (0x054) 3462306a36Sopenharmony_ci#define ISP_TCTRL_PSTRB_DELAY (0x058) 3562306a36Sopenharmony_ci#define ISP_TCTRL_STRB_DELAY (0x05C) 3662306a36Sopenharmony_ci#define ISP_TCTRL_SHUT_DELAY (0x060) 3762306a36Sopenharmony_ci#define ISP_TCTRL_PSTRB_LENGTH (0x064) 3862306a36Sopenharmony_ci#define ISP_TCTRL_STRB_LENGTH (0x068) 3962306a36Sopenharmony_ci#define ISP_TCTRL_SHUT_LENGTH (0x06C) 4062306a36Sopenharmony_ci#define ISP_PING_PONG_ADDR (0x070) 4162306a36Sopenharmony_ci#define ISP_PING_PONG_MEM_RANGE (0x074) 4262306a36Sopenharmony_ci#define ISP_PING_PONG_BUF_SIZE (0x078) 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci/* CCP2 receiver registers */ 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci#define ISPCCP2_REVISION (0x000) 4762306a36Sopenharmony_ci#define ISPCCP2_SYSCONFIG (0x004) 4862306a36Sopenharmony_ci#define ISPCCP2_SYSCONFIG_SOFT_RESET BIT(1) 4962306a36Sopenharmony_ci#define ISPCCP2_SYSCONFIG_AUTO_IDLE 0x1 5062306a36Sopenharmony_ci#define ISPCCP2_SYSCONFIG_MSTANDBY_MODE_SHIFT 12 5162306a36Sopenharmony_ci#define ISPCCP2_SYSCONFIG_MSTANDBY_MODE_FORCE \ 5262306a36Sopenharmony_ci (0x0 << ISPCCP2_SYSCONFIG_MSTANDBY_MODE_SHIFT) 5362306a36Sopenharmony_ci#define ISPCCP2_SYSCONFIG_MSTANDBY_MODE_NO \ 5462306a36Sopenharmony_ci (0x1 << ISPCCP2_SYSCONFIG_MSTANDBY_MODE_SHIFT) 5562306a36Sopenharmony_ci#define ISPCCP2_SYSCONFIG_MSTANDBY_MODE_SMART \ 5662306a36Sopenharmony_ci (0x2 << ISPCCP2_SYSCONFIG_MSTANDBY_MODE_SHIFT) 5762306a36Sopenharmony_ci#define ISPCCP2_SYSSTATUS (0x008) 5862306a36Sopenharmony_ci#define ISPCCP2_SYSSTATUS_RESET_DONE BIT(0) 5962306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQENABLE (0x00C) 6062306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS (0x010) 6162306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_FS_IRQ BIT(11) 6262306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_LE_IRQ BIT(10) 6362306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_LS_IRQ BIT(9) 6462306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_FE_IRQ BIT(8) 6562306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_COUNT_IRQ BIT(7) 6662306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_FIFO_OVF_IRQ BIT(5) 6762306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_CRC_IRQ BIT(4) 6862306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_FSP_IRQ BIT(3) 6962306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_FW_IRQ BIT(2) 7062306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_FSC_IRQ BIT(1) 7162306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_SSC_IRQ BIT(0) 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci#define ISPCCP2_LC23_IRQENABLE (0x014) 7462306a36Sopenharmony_ci#define ISPCCP2_LC23_IRQSTATUS (0x018) 7562306a36Sopenharmony_ci#define ISPCCP2_LCM_IRQENABLE (0x02C) 7662306a36Sopenharmony_ci#define ISPCCP2_LCM_IRQSTATUS_EOF_IRQ BIT(0) 7762306a36Sopenharmony_ci#define ISPCCP2_LCM_IRQSTATUS_OCPERROR_IRQ BIT(1) 7862306a36Sopenharmony_ci#define ISPCCP2_LCM_IRQSTATUS (0x030) 7962306a36Sopenharmony_ci#define ISPCCP2_CTRL (0x040) 8062306a36Sopenharmony_ci#define ISPCCP2_CTRL_IF_EN BIT(0) 8162306a36Sopenharmony_ci#define ISPCCP2_CTRL_PHY_SEL BIT(1) 8262306a36Sopenharmony_ci#define ISPCCP2_CTRL_PHY_SEL_CLOCK (0 << 1) 8362306a36Sopenharmony_ci#define ISPCCP2_CTRL_PHY_SEL_STROBE (1 << 1) 8462306a36Sopenharmony_ci#define ISPCCP2_CTRL_PHY_SEL_MASK 0x1 8562306a36Sopenharmony_ci#define ISPCCP2_CTRL_PHY_SEL_SHIFT 1 8662306a36Sopenharmony_ci#define ISPCCP2_CTRL_IO_OUT_SEL BIT(2) 8762306a36Sopenharmony_ci#define ISPCCP2_CTRL_IO_OUT_SEL_MASK 0x1 8862306a36Sopenharmony_ci#define ISPCCP2_CTRL_IO_OUT_SEL_SHIFT 2 8962306a36Sopenharmony_ci#define ISPCCP2_CTRL_MODE BIT(4) 9062306a36Sopenharmony_ci#define ISPCCP2_CTRL_VP_CLK_FORCE_ON BIT(9) 9162306a36Sopenharmony_ci#define ISPCCP2_CTRL_INV BIT(10) 9262306a36Sopenharmony_ci#define ISPCCP2_CTRL_INV_MASK 0x1 9362306a36Sopenharmony_ci#define ISPCCP2_CTRL_INV_SHIFT 10 9462306a36Sopenharmony_ci#define ISPCCP2_CTRL_VP_ONLY_EN BIT(11) 9562306a36Sopenharmony_ci#define ISPCCP2_CTRL_VP_CLK_POL BIT(12) 9662306a36Sopenharmony_ci#define ISPCCP2_CTRL_VP_CLK_POL_MASK 0x1 9762306a36Sopenharmony_ci#define ISPCCP2_CTRL_VP_CLK_POL_SHIFT 12 9862306a36Sopenharmony_ci#define ISPCCP2_CTRL_VPCLK_DIV_SHIFT 15 9962306a36Sopenharmony_ci#define ISPCCP2_CTRL_VPCLK_DIV_MASK 0x1ffff /* [31:15] */ 10062306a36Sopenharmony_ci#define ISPCCP2_CTRL_VP_OUT_CTRL_SHIFT 8 /* 3430 bits */ 10162306a36Sopenharmony_ci#define ISPCCP2_CTRL_VP_OUT_CTRL_MASK 0x3 /* 3430 bits */ 10262306a36Sopenharmony_ci#define ISPCCP2_DBG (0x044) 10362306a36Sopenharmony_ci#define ISPCCP2_GNQ (0x048) 10462306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL(x) ((0x050)+0x30*(x)) 10562306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_CHAN_EN BIT(0) 10662306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_CRC_EN BIT(19) 10762306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_CRC_MASK 0x1 10862306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_CRC_SHIFT 2 10962306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_CRC_SHIFT_15_0 19 11062306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_REGION_EN BIT(1) 11162306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_REGION_MASK 0x1 11262306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_REGION_SHIFT 1 11362306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_FORMAT_MASK_15_0 0x3f 11462306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_FORMAT_SHIFT_15_0 0x2 11562306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_FORMAT_MASK 0x1f 11662306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_FORMAT_SHIFT 0x3 11762306a36Sopenharmony_ci#define ISPCCP2_LCx_CODE(x) ((0x054)+0x30*(x)) 11862306a36Sopenharmony_ci#define ISPCCP2_LCx_STAT_START(x) ((0x058)+0x30*(x)) 11962306a36Sopenharmony_ci#define ISPCCP2_LCx_STAT_SIZE(x) ((0x05C)+0x30*(x)) 12062306a36Sopenharmony_ci#define ISPCCP2_LCx_SOF_ADDR(x) ((0x060)+0x30*(x)) 12162306a36Sopenharmony_ci#define ISPCCP2_LCx_EOF_ADDR(x) ((0x064)+0x30*(x)) 12262306a36Sopenharmony_ci#define ISPCCP2_LCx_DAT_START(x) ((0x068)+0x30*(x)) 12362306a36Sopenharmony_ci#define ISPCCP2_LCx_DAT_SIZE(x) ((0x06C)+0x30*(x)) 12462306a36Sopenharmony_ci#define ISPCCP2_LCx_DAT_MASK 0xFFF 12562306a36Sopenharmony_ci#define ISPCCP2_LCx_DAT_SHIFT 16 12662306a36Sopenharmony_ci#define ISPCCP2_LCx_DAT_PING_ADDR(x) ((0x070)+0x30*(x)) 12762306a36Sopenharmony_ci#define ISPCCP2_LCx_DAT_PONG_ADDR(x) ((0x074)+0x30*(x)) 12862306a36Sopenharmony_ci#define ISPCCP2_LCx_DAT_OFST(x) ((0x078)+0x30*(x)) 12962306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL (0x1D0) 13062306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_CHAN_EN BIT(0) 13162306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_DST_PORT BIT(2) 13262306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_DST_PORT_SHIFT 2 13362306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_READ_THROTTLE_SHIFT 3 13462306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_READ_THROTTLE_MASK 0x11 13562306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_BURST_SIZE_SHIFT 5 13662306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_BURST_SIZE_MASK 0x7 13762306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_SRC_FORMAT_SHIFT 16 13862306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_SRC_FORMAT_MASK 0x7 13962306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_SRC_DECOMPR_SHIFT 20 14062306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_SRC_DECOMPR_MASK 0x3 14162306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_SRC_DPCM_PRED BIT(22) 14262306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_SRC_PACK BIT(23) 14362306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_DST_FORMAT_SHIFT 24 14462306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_DST_FORMAT_MASK 0x7 14562306a36Sopenharmony_ci#define ISPCCP2_LCM_VSIZE (0x1D4) 14662306a36Sopenharmony_ci#define ISPCCP2_LCM_VSIZE_SHIFT 16 14762306a36Sopenharmony_ci#define ISPCCP2_LCM_HSIZE (0x1D8) 14862306a36Sopenharmony_ci#define ISPCCP2_LCM_HSIZE_SHIFT 16 14962306a36Sopenharmony_ci#define ISPCCP2_LCM_PREFETCH (0x1DC) 15062306a36Sopenharmony_ci#define ISPCCP2_LCM_PREFETCH_SHIFT 3 15162306a36Sopenharmony_ci#define ISPCCP2_LCM_SRC_ADDR (0x1E0) 15262306a36Sopenharmony_ci#define ISPCCP2_LCM_SRC_OFST (0x1E4) 15362306a36Sopenharmony_ci#define ISPCCP2_LCM_DST_ADDR (0x1E8) 15462306a36Sopenharmony_ci#define ISPCCP2_LCM_DST_OFST (0x1EC) 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci/* CCDC module register offset */ 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci#define ISPCCDC_PID (0x000) 15962306a36Sopenharmony_ci#define ISPCCDC_PCR (0x004) 16062306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE (0x008) 16162306a36Sopenharmony_ci#define ISPCCDC_HD_VD_WID (0x00C) 16262306a36Sopenharmony_ci#define ISPCCDC_PIX_LINES (0x010) 16362306a36Sopenharmony_ci#define ISPCCDC_HORZ_INFO (0x014) 16462306a36Sopenharmony_ci#define ISPCCDC_VERT_START (0x018) 16562306a36Sopenharmony_ci#define ISPCCDC_VERT_LINES (0x01C) 16662306a36Sopenharmony_ci#define ISPCCDC_CULLING (0x020) 16762306a36Sopenharmony_ci#define ISPCCDC_HSIZE_OFF (0x024) 16862306a36Sopenharmony_ci#define ISPCCDC_SDOFST (0x028) 16962306a36Sopenharmony_ci#define ISPCCDC_SDR_ADDR (0x02C) 17062306a36Sopenharmony_ci#define ISPCCDC_CLAMP (0x030) 17162306a36Sopenharmony_ci#define ISPCCDC_DCSUB (0x034) 17262306a36Sopenharmony_ci#define ISPCCDC_COLPTN (0x038) 17362306a36Sopenharmony_ci#define ISPCCDC_BLKCMP (0x03C) 17462306a36Sopenharmony_ci#define ISPCCDC_FPC (0x040) 17562306a36Sopenharmony_ci#define ISPCCDC_FPC_ADDR (0x044) 17662306a36Sopenharmony_ci#define ISPCCDC_VDINT (0x048) 17762306a36Sopenharmony_ci#define ISPCCDC_ALAW (0x04C) 17862306a36Sopenharmony_ci#define ISPCCDC_REC656IF (0x050) 17962306a36Sopenharmony_ci#define ISPCCDC_CFG (0x054) 18062306a36Sopenharmony_ci#define ISPCCDC_FMTCFG (0x058) 18162306a36Sopenharmony_ci#define ISPCCDC_FMT_HORZ (0x05C) 18262306a36Sopenharmony_ci#define ISPCCDC_FMT_VERT (0x060) 18362306a36Sopenharmony_ci#define ISPCCDC_FMT_ADDR0 (0x064) 18462306a36Sopenharmony_ci#define ISPCCDC_FMT_ADDR1 (0x068) 18562306a36Sopenharmony_ci#define ISPCCDC_FMT_ADDR2 (0x06C) 18662306a36Sopenharmony_ci#define ISPCCDC_FMT_ADDR3 (0x070) 18762306a36Sopenharmony_ci#define ISPCCDC_FMT_ADDR4 (0x074) 18862306a36Sopenharmony_ci#define ISPCCDC_FMT_ADDR5 (0x078) 18962306a36Sopenharmony_ci#define ISPCCDC_FMT_ADDR6 (0x07C) 19062306a36Sopenharmony_ci#define ISPCCDC_FMT_ADDR7 (0x080) 19162306a36Sopenharmony_ci#define ISPCCDC_PRGEVEN0 (0x084) 19262306a36Sopenharmony_ci#define ISPCCDC_PRGEVEN1 (0x088) 19362306a36Sopenharmony_ci#define ISPCCDC_PRGODD0 (0x08C) 19462306a36Sopenharmony_ci#define ISPCCDC_PRGODD1 (0x090) 19562306a36Sopenharmony_ci#define ISPCCDC_VP_OUT (0x094) 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci#define ISPCCDC_LSC_CONFIG (0x098) 19862306a36Sopenharmony_ci#define ISPCCDC_LSC_INITIAL (0x09C) 19962306a36Sopenharmony_ci#define ISPCCDC_LSC_TABLE_BASE (0x0A0) 20062306a36Sopenharmony_ci#define ISPCCDC_LSC_TABLE_OFFSET (0x0A4) 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_ci/* SBL */ 20362306a36Sopenharmony_ci#define ISPSBL_PCR 0x4 20462306a36Sopenharmony_ci#define ISPSBL_PCR_H3A_AEAWB_WBL_OVF BIT(16) 20562306a36Sopenharmony_ci#define ISPSBL_PCR_H3A_AF_WBL_OVF BIT(17) 20662306a36Sopenharmony_ci#define ISPSBL_PCR_RSZ4_WBL_OVF BIT(18) 20762306a36Sopenharmony_ci#define ISPSBL_PCR_RSZ3_WBL_OVF BIT(19) 20862306a36Sopenharmony_ci#define ISPSBL_PCR_RSZ2_WBL_OVF BIT(20) 20962306a36Sopenharmony_ci#define ISPSBL_PCR_RSZ1_WBL_OVF BIT(21) 21062306a36Sopenharmony_ci#define ISPSBL_PCR_PRV_WBL_OVF BIT(22) 21162306a36Sopenharmony_ci#define ISPSBL_PCR_CCDC_WBL_OVF BIT(23) 21262306a36Sopenharmony_ci#define ISPSBL_PCR_CCDCPRV_2_RSZ_OVF BIT(24) 21362306a36Sopenharmony_ci#define ISPSBL_PCR_CSIA_WBL_OVF BIT(25) 21462306a36Sopenharmony_ci#define ISPSBL_PCR_CSIB_WBL_OVF BIT(26) 21562306a36Sopenharmony_ci#define ISPSBL_CCDC_WR_0 (0x028) 21662306a36Sopenharmony_ci#define ISPSBL_CCDC_WR_0_DATA_READY BIT(21) 21762306a36Sopenharmony_ci#define ISPSBL_CCDC_WR_1 (0x02C) 21862306a36Sopenharmony_ci#define ISPSBL_CCDC_WR_2 (0x030) 21962306a36Sopenharmony_ci#define ISPSBL_CCDC_WR_3 (0x034) 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ci#define ISPSBL_SDR_REQ_EXP 0xF8 22262306a36Sopenharmony_ci#define ISPSBL_SDR_REQ_HIST_EXP_SHIFT 0 22362306a36Sopenharmony_ci#define ISPSBL_SDR_REQ_HIST_EXP_MASK (0x3FF) 22462306a36Sopenharmony_ci#define ISPSBL_SDR_REQ_RSZ_EXP_SHIFT 10 22562306a36Sopenharmony_ci#define ISPSBL_SDR_REQ_RSZ_EXP_MASK (0x3FF << ISPSBL_SDR_REQ_RSZ_EXP_SHIFT) 22662306a36Sopenharmony_ci#define ISPSBL_SDR_REQ_PRV_EXP_SHIFT 20 22762306a36Sopenharmony_ci#define ISPSBL_SDR_REQ_PRV_EXP_MASK (0x3FF << ISPSBL_SDR_REQ_PRV_EXP_SHIFT) 22862306a36Sopenharmony_ci 22962306a36Sopenharmony_ci/* Histogram registers */ 23062306a36Sopenharmony_ci#define ISPHIST_PID (0x000) 23162306a36Sopenharmony_ci#define ISPHIST_PCR (0x004) 23262306a36Sopenharmony_ci#define ISPHIST_CNT (0x008) 23362306a36Sopenharmony_ci#define ISPHIST_WB_GAIN (0x00C) 23462306a36Sopenharmony_ci#define ISPHIST_R0_HORZ (0x010) 23562306a36Sopenharmony_ci#define ISPHIST_R0_VERT (0x014) 23662306a36Sopenharmony_ci#define ISPHIST_R1_HORZ (0x018) 23762306a36Sopenharmony_ci#define ISPHIST_R1_VERT (0x01C) 23862306a36Sopenharmony_ci#define ISPHIST_R2_HORZ (0x020) 23962306a36Sopenharmony_ci#define ISPHIST_R2_VERT (0x024) 24062306a36Sopenharmony_ci#define ISPHIST_R3_HORZ (0x028) 24162306a36Sopenharmony_ci#define ISPHIST_R3_VERT (0x02C) 24262306a36Sopenharmony_ci#define ISPHIST_ADDR (0x030) 24362306a36Sopenharmony_ci#define ISPHIST_DATA (0x034) 24462306a36Sopenharmony_ci#define ISPHIST_RADD (0x038) 24562306a36Sopenharmony_ci#define ISPHIST_RADD_OFF (0x03C) 24662306a36Sopenharmony_ci#define ISPHIST_H_V_INFO (0x040) 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_ci/* H3A module registers */ 24962306a36Sopenharmony_ci#define ISPH3A_PID (0x000) 25062306a36Sopenharmony_ci#define ISPH3A_PCR (0x004) 25162306a36Sopenharmony_ci#define ISPH3A_AEWWIN1 (0x04C) 25262306a36Sopenharmony_ci#define ISPH3A_AEWINSTART (0x050) 25362306a36Sopenharmony_ci#define ISPH3A_AEWINBLK (0x054) 25462306a36Sopenharmony_ci#define ISPH3A_AEWSUBWIN (0x058) 25562306a36Sopenharmony_ci#define ISPH3A_AEWBUFST (0x05C) 25662306a36Sopenharmony_ci#define ISPH3A_AFPAX1 (0x008) 25762306a36Sopenharmony_ci#define ISPH3A_AFPAX2 (0x00C) 25862306a36Sopenharmony_ci#define ISPH3A_AFPAXSTART (0x010) 25962306a36Sopenharmony_ci#define ISPH3A_AFIIRSH (0x014) 26062306a36Sopenharmony_ci#define ISPH3A_AFBUFST (0x018) 26162306a36Sopenharmony_ci#define ISPH3A_AFCOEF010 (0x01C) 26262306a36Sopenharmony_ci#define ISPH3A_AFCOEF032 (0x020) 26362306a36Sopenharmony_ci#define ISPH3A_AFCOEF054 (0x024) 26462306a36Sopenharmony_ci#define ISPH3A_AFCOEF076 (0x028) 26562306a36Sopenharmony_ci#define ISPH3A_AFCOEF098 (0x02C) 26662306a36Sopenharmony_ci#define ISPH3A_AFCOEF0010 (0x030) 26762306a36Sopenharmony_ci#define ISPH3A_AFCOEF110 (0x034) 26862306a36Sopenharmony_ci#define ISPH3A_AFCOEF132 (0x038) 26962306a36Sopenharmony_ci#define ISPH3A_AFCOEF154 (0x03C) 27062306a36Sopenharmony_ci#define ISPH3A_AFCOEF176 (0x040) 27162306a36Sopenharmony_ci#define ISPH3A_AFCOEF198 (0x044) 27262306a36Sopenharmony_ci#define ISPH3A_AFCOEF1010 (0x048) 27362306a36Sopenharmony_ci 27462306a36Sopenharmony_ci#define ISPPRV_PCR (0x004) 27562306a36Sopenharmony_ci#define ISPPRV_HORZ_INFO (0x008) 27662306a36Sopenharmony_ci#define ISPPRV_VERT_INFO (0x00C) 27762306a36Sopenharmony_ci#define ISPPRV_RSDR_ADDR (0x010) 27862306a36Sopenharmony_ci#define ISPPRV_RADR_OFFSET (0x014) 27962306a36Sopenharmony_ci#define ISPPRV_DSDR_ADDR (0x018) 28062306a36Sopenharmony_ci#define ISPPRV_DRKF_OFFSET (0x01C) 28162306a36Sopenharmony_ci#define ISPPRV_WSDR_ADDR (0x020) 28262306a36Sopenharmony_ci#define ISPPRV_WADD_OFFSET (0x024) 28362306a36Sopenharmony_ci#define ISPPRV_AVE (0x028) 28462306a36Sopenharmony_ci#define ISPPRV_HMED (0x02C) 28562306a36Sopenharmony_ci#define ISPPRV_NF (0x030) 28662306a36Sopenharmony_ci#define ISPPRV_WB_DGAIN (0x034) 28762306a36Sopenharmony_ci#define ISPPRV_WBGAIN (0x038) 28862306a36Sopenharmony_ci#define ISPPRV_WBSEL (0x03C) 28962306a36Sopenharmony_ci#define ISPPRV_CFA (0x040) 29062306a36Sopenharmony_ci#define ISPPRV_BLKADJOFF (0x044) 29162306a36Sopenharmony_ci#define ISPPRV_RGB_MAT1 (0x048) 29262306a36Sopenharmony_ci#define ISPPRV_RGB_MAT2 (0x04C) 29362306a36Sopenharmony_ci#define ISPPRV_RGB_MAT3 (0x050) 29462306a36Sopenharmony_ci#define ISPPRV_RGB_MAT4 (0x054) 29562306a36Sopenharmony_ci#define ISPPRV_RGB_MAT5 (0x058) 29662306a36Sopenharmony_ci#define ISPPRV_RGB_OFF1 (0x05C) 29762306a36Sopenharmony_ci#define ISPPRV_RGB_OFF2 (0x060) 29862306a36Sopenharmony_ci#define ISPPRV_CSC0 (0x064) 29962306a36Sopenharmony_ci#define ISPPRV_CSC1 (0x068) 30062306a36Sopenharmony_ci#define ISPPRV_CSC2 (0x06C) 30162306a36Sopenharmony_ci#define ISPPRV_CSC_OFFSET (0x070) 30262306a36Sopenharmony_ci#define ISPPRV_CNT_BRT (0x074) 30362306a36Sopenharmony_ci#define ISPPRV_CSUP (0x078) 30462306a36Sopenharmony_ci#define ISPPRV_SETUP_YC (0x07C) 30562306a36Sopenharmony_ci#define ISPPRV_SET_TBL_ADDR (0x080) 30662306a36Sopenharmony_ci#define ISPPRV_SET_TBL_DATA (0x084) 30762306a36Sopenharmony_ci#define ISPPRV_CDC_THR0 (0x090) 30862306a36Sopenharmony_ci#define ISPPRV_CDC_THR1 (ISPPRV_CDC_THR0 + (0x4)) 30962306a36Sopenharmony_ci#define ISPPRV_CDC_THR2 (ISPPRV_CDC_THR0 + (0x4) * 2) 31062306a36Sopenharmony_ci#define ISPPRV_CDC_THR3 (ISPPRV_CDC_THR0 + (0x4) * 3) 31162306a36Sopenharmony_ci 31262306a36Sopenharmony_ci#define ISPPRV_REDGAMMA_TABLE_ADDR 0x0000 31362306a36Sopenharmony_ci#define ISPPRV_GREENGAMMA_TABLE_ADDR 0x0400 31462306a36Sopenharmony_ci#define ISPPRV_BLUEGAMMA_TABLE_ADDR 0x0800 31562306a36Sopenharmony_ci#define ISPPRV_NF_TABLE_ADDR 0x0C00 31662306a36Sopenharmony_ci#define ISPPRV_YENH_TABLE_ADDR 0x1000 31762306a36Sopenharmony_ci#define ISPPRV_CFA_TABLE_ADDR 0x1400 31862306a36Sopenharmony_ci 31962306a36Sopenharmony_ci#define ISPRSZ_MIN_OUTPUT 64 32062306a36Sopenharmony_ci#define ISPRSZ_MAX_OUTPUT 3312 32162306a36Sopenharmony_ci 32262306a36Sopenharmony_ci/* Resizer module register offset */ 32362306a36Sopenharmony_ci#define ISPRSZ_PID (0x000) 32462306a36Sopenharmony_ci#define ISPRSZ_PCR (0x004) 32562306a36Sopenharmony_ci#define ISPRSZ_CNT (0x008) 32662306a36Sopenharmony_ci#define ISPRSZ_OUT_SIZE (0x00C) 32762306a36Sopenharmony_ci#define ISPRSZ_IN_START (0x010) 32862306a36Sopenharmony_ci#define ISPRSZ_IN_SIZE (0x014) 32962306a36Sopenharmony_ci#define ISPRSZ_SDR_INADD (0x018) 33062306a36Sopenharmony_ci#define ISPRSZ_SDR_INOFF (0x01C) 33162306a36Sopenharmony_ci#define ISPRSZ_SDR_OUTADD (0x020) 33262306a36Sopenharmony_ci#define ISPRSZ_SDR_OUTOFF (0x024) 33362306a36Sopenharmony_ci#define ISPRSZ_HFILT10 (0x028) 33462306a36Sopenharmony_ci#define ISPRSZ_HFILT32 (0x02C) 33562306a36Sopenharmony_ci#define ISPRSZ_HFILT54 (0x030) 33662306a36Sopenharmony_ci#define ISPRSZ_HFILT76 (0x034) 33762306a36Sopenharmony_ci#define ISPRSZ_HFILT98 (0x038) 33862306a36Sopenharmony_ci#define ISPRSZ_HFILT1110 (0x03C) 33962306a36Sopenharmony_ci#define ISPRSZ_HFILT1312 (0x040) 34062306a36Sopenharmony_ci#define ISPRSZ_HFILT1514 (0x044) 34162306a36Sopenharmony_ci#define ISPRSZ_HFILT1716 (0x048) 34262306a36Sopenharmony_ci#define ISPRSZ_HFILT1918 (0x04C) 34362306a36Sopenharmony_ci#define ISPRSZ_HFILT2120 (0x050) 34462306a36Sopenharmony_ci#define ISPRSZ_HFILT2322 (0x054) 34562306a36Sopenharmony_ci#define ISPRSZ_HFILT2524 (0x058) 34662306a36Sopenharmony_ci#define ISPRSZ_HFILT2726 (0x05C) 34762306a36Sopenharmony_ci#define ISPRSZ_HFILT2928 (0x060) 34862306a36Sopenharmony_ci#define ISPRSZ_HFILT3130 (0x064) 34962306a36Sopenharmony_ci#define ISPRSZ_VFILT10 (0x068) 35062306a36Sopenharmony_ci#define ISPRSZ_VFILT32 (0x06C) 35162306a36Sopenharmony_ci#define ISPRSZ_VFILT54 (0x070) 35262306a36Sopenharmony_ci#define ISPRSZ_VFILT76 (0x074) 35362306a36Sopenharmony_ci#define ISPRSZ_VFILT98 (0x078) 35462306a36Sopenharmony_ci#define ISPRSZ_VFILT1110 (0x07C) 35562306a36Sopenharmony_ci#define ISPRSZ_VFILT1312 (0x080) 35662306a36Sopenharmony_ci#define ISPRSZ_VFILT1514 (0x084) 35762306a36Sopenharmony_ci#define ISPRSZ_VFILT1716 (0x088) 35862306a36Sopenharmony_ci#define ISPRSZ_VFILT1918 (0x08C) 35962306a36Sopenharmony_ci#define ISPRSZ_VFILT2120 (0x090) 36062306a36Sopenharmony_ci#define ISPRSZ_VFILT2322 (0x094) 36162306a36Sopenharmony_ci#define ISPRSZ_VFILT2524 (0x098) 36262306a36Sopenharmony_ci#define ISPRSZ_VFILT2726 (0x09C) 36362306a36Sopenharmony_ci#define ISPRSZ_VFILT2928 (0x0A0) 36462306a36Sopenharmony_ci#define ISPRSZ_VFILT3130 (0x0A4) 36562306a36Sopenharmony_ci#define ISPRSZ_YENH (0x0A8) 36662306a36Sopenharmony_ci 36762306a36Sopenharmony_ci#define ISP_INT_CLR 0xFF113F11 36862306a36Sopenharmony_ci#define ISPPRV_PCR_EN 1 36962306a36Sopenharmony_ci#define ISPPRV_PCR_BUSY BIT(1) 37062306a36Sopenharmony_ci#define ISPPRV_PCR_SOURCE BIT(2) 37162306a36Sopenharmony_ci#define ISPPRV_PCR_ONESHOT BIT(3) 37262306a36Sopenharmony_ci#define ISPPRV_PCR_WIDTH BIT(4) 37362306a36Sopenharmony_ci#define ISPPRV_PCR_INVALAW BIT(5) 37462306a36Sopenharmony_ci#define ISPPRV_PCR_DRKFEN BIT(6) 37562306a36Sopenharmony_ci#define ISPPRV_PCR_DRKFCAP BIT(7) 37662306a36Sopenharmony_ci#define ISPPRV_PCR_HMEDEN BIT(8) 37762306a36Sopenharmony_ci#define ISPPRV_PCR_NFEN BIT(9) 37862306a36Sopenharmony_ci#define ISPPRV_PCR_CFAEN BIT(10) 37962306a36Sopenharmony_ci#define ISPPRV_PCR_CFAFMT_SHIFT 11 38062306a36Sopenharmony_ci#define ISPPRV_PCR_CFAFMT_MASK 0x7800 38162306a36Sopenharmony_ci#define ISPPRV_PCR_CFAFMT_BAYER (0 << 11) 38262306a36Sopenharmony_ci#define ISPPRV_PCR_CFAFMT_SONYVGA (1 << 11) 38362306a36Sopenharmony_ci#define ISPPRV_PCR_CFAFMT_RGBFOVEON (2 << 11) 38462306a36Sopenharmony_ci#define ISPPRV_PCR_CFAFMT_DNSPL (3 << 11) 38562306a36Sopenharmony_ci#define ISPPRV_PCR_CFAFMT_HONEYCOMB (4 << 11) 38662306a36Sopenharmony_ci#define ISPPRV_PCR_CFAFMT_RRGGBBFOVEON (5 << 11) 38762306a36Sopenharmony_ci#define ISPPRV_PCR_YNENHEN BIT(15) 38862306a36Sopenharmony_ci#define ISPPRV_PCR_SUPEN BIT(16) 38962306a36Sopenharmony_ci#define ISPPRV_PCR_YCPOS_SHIFT 17 39062306a36Sopenharmony_ci#define ISPPRV_PCR_YCPOS_YCrYCb (0 << 17) 39162306a36Sopenharmony_ci#define ISPPRV_PCR_YCPOS_YCbYCr (1 << 17) 39262306a36Sopenharmony_ci#define ISPPRV_PCR_YCPOS_CbYCrY (2 << 17) 39362306a36Sopenharmony_ci#define ISPPRV_PCR_YCPOS_CrYCbY (3 << 17) 39462306a36Sopenharmony_ci#define ISPPRV_PCR_RSZPORT BIT(19) 39562306a36Sopenharmony_ci#define ISPPRV_PCR_SDRPORT BIT(20) 39662306a36Sopenharmony_ci#define ISPPRV_PCR_SCOMP_EN BIT(21) 39762306a36Sopenharmony_ci#define ISPPRV_PCR_SCOMP_SFT_SHIFT (22) 39862306a36Sopenharmony_ci#define ISPPRV_PCR_SCOMP_SFT_MASK (7 << 22) 39962306a36Sopenharmony_ci#define ISPPRV_PCR_GAMMA_BYPASS BIT(26) 40062306a36Sopenharmony_ci#define ISPPRV_PCR_DCOREN BIT(27) 40162306a36Sopenharmony_ci#define ISPPRV_PCR_DCCOUP BIT(28) 40262306a36Sopenharmony_ci#define ISPPRV_PCR_DRK_FAIL BIT(31) 40362306a36Sopenharmony_ci 40462306a36Sopenharmony_ci#define ISPPRV_HORZ_INFO_EPH_SHIFT 0 40562306a36Sopenharmony_ci#define ISPPRV_HORZ_INFO_EPH_MASK 0x3fff 40662306a36Sopenharmony_ci#define ISPPRV_HORZ_INFO_SPH_SHIFT 16 40762306a36Sopenharmony_ci#define ISPPRV_HORZ_INFO_SPH_MASK 0x3fff0 40862306a36Sopenharmony_ci 40962306a36Sopenharmony_ci#define ISPPRV_VERT_INFO_ELV_SHIFT 0 41062306a36Sopenharmony_ci#define ISPPRV_VERT_INFO_ELV_MASK 0x3fff 41162306a36Sopenharmony_ci#define ISPPRV_VERT_INFO_SLV_SHIFT 16 41262306a36Sopenharmony_ci#define ISPPRV_VERT_INFO_SLV_MASK 0x3fff0 41362306a36Sopenharmony_ci 41462306a36Sopenharmony_ci#define ISPPRV_AVE_EVENDIST_SHIFT 2 41562306a36Sopenharmony_ci#define ISPPRV_AVE_EVENDIST_1 0x0 41662306a36Sopenharmony_ci#define ISPPRV_AVE_EVENDIST_2 0x1 41762306a36Sopenharmony_ci#define ISPPRV_AVE_EVENDIST_3 0x2 41862306a36Sopenharmony_ci#define ISPPRV_AVE_EVENDIST_4 0x3 41962306a36Sopenharmony_ci#define ISPPRV_AVE_ODDDIST_SHIFT 4 42062306a36Sopenharmony_ci#define ISPPRV_AVE_ODDDIST_1 0x0 42162306a36Sopenharmony_ci#define ISPPRV_AVE_ODDDIST_2 0x1 42262306a36Sopenharmony_ci#define ISPPRV_AVE_ODDDIST_3 0x2 42362306a36Sopenharmony_ci#define ISPPRV_AVE_ODDDIST_4 0x3 42462306a36Sopenharmony_ci 42562306a36Sopenharmony_ci#define ISPPRV_HMED_THRESHOLD_SHIFT 0 42662306a36Sopenharmony_ci#define ISPPRV_HMED_EVENDIST BIT(8) 42762306a36Sopenharmony_ci#define ISPPRV_HMED_ODDDIST BIT(9) 42862306a36Sopenharmony_ci 42962306a36Sopenharmony_ci#define ISPPRV_WBGAIN_COEF0_SHIFT 0 43062306a36Sopenharmony_ci#define ISPPRV_WBGAIN_COEF1_SHIFT 8 43162306a36Sopenharmony_ci#define ISPPRV_WBGAIN_COEF2_SHIFT 16 43262306a36Sopenharmony_ci#define ISPPRV_WBGAIN_COEF3_SHIFT 24 43362306a36Sopenharmony_ci 43462306a36Sopenharmony_ci#define ISPPRV_WBSEL_COEF0 0x0 43562306a36Sopenharmony_ci#define ISPPRV_WBSEL_COEF1 0x1 43662306a36Sopenharmony_ci#define ISPPRV_WBSEL_COEF2 0x2 43762306a36Sopenharmony_ci#define ISPPRV_WBSEL_COEF3 0x3 43862306a36Sopenharmony_ci 43962306a36Sopenharmony_ci#define ISPPRV_WBSEL_N0_0_SHIFT 0 44062306a36Sopenharmony_ci#define ISPPRV_WBSEL_N0_1_SHIFT 2 44162306a36Sopenharmony_ci#define ISPPRV_WBSEL_N0_2_SHIFT 4 44262306a36Sopenharmony_ci#define ISPPRV_WBSEL_N0_3_SHIFT 6 44362306a36Sopenharmony_ci#define ISPPRV_WBSEL_N1_0_SHIFT 8 44462306a36Sopenharmony_ci#define ISPPRV_WBSEL_N1_1_SHIFT 10 44562306a36Sopenharmony_ci#define ISPPRV_WBSEL_N1_2_SHIFT 12 44662306a36Sopenharmony_ci#define ISPPRV_WBSEL_N1_3_SHIFT 14 44762306a36Sopenharmony_ci#define ISPPRV_WBSEL_N2_0_SHIFT 16 44862306a36Sopenharmony_ci#define ISPPRV_WBSEL_N2_1_SHIFT 18 44962306a36Sopenharmony_ci#define ISPPRV_WBSEL_N2_2_SHIFT 20 45062306a36Sopenharmony_ci#define ISPPRV_WBSEL_N2_3_SHIFT 22 45162306a36Sopenharmony_ci#define ISPPRV_WBSEL_N3_0_SHIFT 24 45262306a36Sopenharmony_ci#define ISPPRV_WBSEL_N3_1_SHIFT 26 45362306a36Sopenharmony_ci#define ISPPRV_WBSEL_N3_2_SHIFT 28 45462306a36Sopenharmony_ci#define ISPPRV_WBSEL_N3_3_SHIFT 30 45562306a36Sopenharmony_ci 45662306a36Sopenharmony_ci#define ISPPRV_CFA_GRADTH_HOR_SHIFT 0 45762306a36Sopenharmony_ci#define ISPPRV_CFA_GRADTH_VER_SHIFT 8 45862306a36Sopenharmony_ci 45962306a36Sopenharmony_ci#define ISPPRV_BLKADJOFF_B_SHIFT 0 46062306a36Sopenharmony_ci#define ISPPRV_BLKADJOFF_G_SHIFT 8 46162306a36Sopenharmony_ci#define ISPPRV_BLKADJOFF_R_SHIFT 16 46262306a36Sopenharmony_ci 46362306a36Sopenharmony_ci#define ISPPRV_RGB_MAT1_MTX_RR_SHIFT 0 46462306a36Sopenharmony_ci#define ISPPRV_RGB_MAT1_MTX_GR_SHIFT 16 46562306a36Sopenharmony_ci 46662306a36Sopenharmony_ci#define ISPPRV_RGB_MAT2_MTX_BR_SHIFT 0 46762306a36Sopenharmony_ci#define ISPPRV_RGB_MAT2_MTX_RG_SHIFT 16 46862306a36Sopenharmony_ci 46962306a36Sopenharmony_ci#define ISPPRV_RGB_MAT3_MTX_GG_SHIFT 0 47062306a36Sopenharmony_ci#define ISPPRV_RGB_MAT3_MTX_BG_SHIFT 16 47162306a36Sopenharmony_ci 47262306a36Sopenharmony_ci#define ISPPRV_RGB_MAT4_MTX_RB_SHIFT 0 47362306a36Sopenharmony_ci#define ISPPRV_RGB_MAT4_MTX_GB_SHIFT 16 47462306a36Sopenharmony_ci 47562306a36Sopenharmony_ci#define ISPPRV_RGB_MAT5_MTX_BB_SHIFT 0 47662306a36Sopenharmony_ci 47762306a36Sopenharmony_ci#define ISPPRV_RGB_OFF1_MTX_OFFG_SHIFT 0 47862306a36Sopenharmony_ci#define ISPPRV_RGB_OFF1_MTX_OFFR_SHIFT 16 47962306a36Sopenharmony_ci 48062306a36Sopenharmony_ci#define ISPPRV_RGB_OFF2_MTX_OFFB_SHIFT 0 48162306a36Sopenharmony_ci 48262306a36Sopenharmony_ci#define ISPPRV_CSC0_RY_SHIFT 0 48362306a36Sopenharmony_ci#define ISPPRV_CSC0_GY_SHIFT 10 48462306a36Sopenharmony_ci#define ISPPRV_CSC0_BY_SHIFT 20 48562306a36Sopenharmony_ci 48662306a36Sopenharmony_ci#define ISPPRV_CSC1_RCB_SHIFT 0 48762306a36Sopenharmony_ci#define ISPPRV_CSC1_GCB_SHIFT 10 48862306a36Sopenharmony_ci#define ISPPRV_CSC1_BCB_SHIFT 20 48962306a36Sopenharmony_ci 49062306a36Sopenharmony_ci#define ISPPRV_CSC2_RCR_SHIFT 0 49162306a36Sopenharmony_ci#define ISPPRV_CSC2_GCR_SHIFT 10 49262306a36Sopenharmony_ci#define ISPPRV_CSC2_BCR_SHIFT 20 49362306a36Sopenharmony_ci 49462306a36Sopenharmony_ci#define ISPPRV_CSC_OFFSET_CR_SHIFT 0 49562306a36Sopenharmony_ci#define ISPPRV_CSC_OFFSET_CB_SHIFT 8 49662306a36Sopenharmony_ci#define ISPPRV_CSC_OFFSET_Y_SHIFT 16 49762306a36Sopenharmony_ci 49862306a36Sopenharmony_ci#define ISPPRV_CNT_BRT_BRT_SHIFT 0 49962306a36Sopenharmony_ci#define ISPPRV_CNT_BRT_CNT_SHIFT 8 50062306a36Sopenharmony_ci 50162306a36Sopenharmony_ci#define ISPPRV_CONTRAST_MAX 0x10 50262306a36Sopenharmony_ci#define ISPPRV_CONTRAST_MIN 0xFF 50362306a36Sopenharmony_ci#define ISPPRV_BRIGHT_MIN 0x00 50462306a36Sopenharmony_ci#define ISPPRV_BRIGHT_MAX 0xFF 50562306a36Sopenharmony_ci 50662306a36Sopenharmony_ci#define ISPPRV_CSUP_CSUPG_SHIFT 0 50762306a36Sopenharmony_ci#define ISPPRV_CSUP_THRES_SHIFT 8 50862306a36Sopenharmony_ci#define ISPPRV_CSUP_HPYF_SHIFT 16 50962306a36Sopenharmony_ci 51062306a36Sopenharmony_ci#define ISPPRV_SETUP_YC_MINC_SHIFT 0 51162306a36Sopenharmony_ci#define ISPPRV_SETUP_YC_MAXC_SHIFT 8 51262306a36Sopenharmony_ci#define ISPPRV_SETUP_YC_MINY_SHIFT 16 51362306a36Sopenharmony_ci#define ISPPRV_SETUP_YC_MAXY_SHIFT 24 51462306a36Sopenharmony_ci#define ISPPRV_YC_MAX 0xFF 51562306a36Sopenharmony_ci#define ISPPRV_YC_MIN 0x0 51662306a36Sopenharmony_ci 51762306a36Sopenharmony_ci/* Define bit fields within selected registers */ 51862306a36Sopenharmony_ci#define ISP_REVISION_SHIFT 0 51962306a36Sopenharmony_ci 52062306a36Sopenharmony_ci#define ISP_SYSCONFIG_AUTOIDLE BIT(0) 52162306a36Sopenharmony_ci#define ISP_SYSCONFIG_SOFTRESET BIT(1) 52262306a36Sopenharmony_ci#define ISP_SYSCONFIG_MIDLEMODE_SHIFT 12 52362306a36Sopenharmony_ci#define ISP_SYSCONFIG_MIDLEMODE_FORCESTANDBY 0x0 52462306a36Sopenharmony_ci#define ISP_SYSCONFIG_MIDLEMODE_NOSTANBY 0x1 52562306a36Sopenharmony_ci#define ISP_SYSCONFIG_MIDLEMODE_SMARTSTANDBY 0x2 52662306a36Sopenharmony_ci 52762306a36Sopenharmony_ci#define ISP_SYSSTATUS_RESETDONE 0 52862306a36Sopenharmony_ci 52962306a36Sopenharmony_ci#define IRQ0ENABLE_CSIA_IRQ BIT(0) 53062306a36Sopenharmony_ci#define IRQ0ENABLE_CSIC_IRQ BIT(1) 53162306a36Sopenharmony_ci#define IRQ0ENABLE_CCP2_LCM_IRQ BIT(3) 53262306a36Sopenharmony_ci#define IRQ0ENABLE_CCP2_LC0_IRQ BIT(4) 53362306a36Sopenharmony_ci#define IRQ0ENABLE_CCP2_LC1_IRQ BIT(5) 53462306a36Sopenharmony_ci#define IRQ0ENABLE_CCP2_LC2_IRQ BIT(6) 53562306a36Sopenharmony_ci#define IRQ0ENABLE_CCP2_LC3_IRQ BIT(7) 53662306a36Sopenharmony_ci#define IRQ0ENABLE_CSIB_IRQ (IRQ0ENABLE_CCP2_LCM_IRQ | \ 53762306a36Sopenharmony_ci IRQ0ENABLE_CCP2_LC0_IRQ | \ 53862306a36Sopenharmony_ci IRQ0ENABLE_CCP2_LC1_IRQ | \ 53962306a36Sopenharmony_ci IRQ0ENABLE_CCP2_LC2_IRQ | \ 54062306a36Sopenharmony_ci IRQ0ENABLE_CCP2_LC3_IRQ) 54162306a36Sopenharmony_ci 54262306a36Sopenharmony_ci#define IRQ0ENABLE_CCDC_VD0_IRQ BIT(8) 54362306a36Sopenharmony_ci#define IRQ0ENABLE_CCDC_VD1_IRQ BIT(9) 54462306a36Sopenharmony_ci#define IRQ0ENABLE_CCDC_VD2_IRQ BIT(10) 54562306a36Sopenharmony_ci#define IRQ0ENABLE_CCDC_ERR_IRQ BIT(11) 54662306a36Sopenharmony_ci#define IRQ0ENABLE_H3A_AF_DONE_IRQ BIT(12) 54762306a36Sopenharmony_ci#define IRQ0ENABLE_H3A_AWB_DONE_IRQ BIT(13) 54862306a36Sopenharmony_ci#define IRQ0ENABLE_HIST_DONE_IRQ BIT(16) 54962306a36Sopenharmony_ci#define IRQ0ENABLE_CCDC_LSC_DONE_IRQ BIT(17) 55062306a36Sopenharmony_ci#define IRQ0ENABLE_CCDC_LSC_PREF_COMP_IRQ BIT(18) 55162306a36Sopenharmony_ci#define IRQ0ENABLE_CCDC_LSC_PREF_ERR_IRQ BIT(19) 55262306a36Sopenharmony_ci#define IRQ0ENABLE_PRV_DONE_IRQ BIT(20) 55362306a36Sopenharmony_ci#define IRQ0ENABLE_RSZ_DONE_IRQ BIT(24) 55462306a36Sopenharmony_ci#define IRQ0ENABLE_OVF_IRQ BIT(25) 55562306a36Sopenharmony_ci#define IRQ0ENABLE_PING_IRQ BIT(26) 55662306a36Sopenharmony_ci#define IRQ0ENABLE_PONG_IRQ BIT(27) 55762306a36Sopenharmony_ci#define IRQ0ENABLE_MMU_ERR_IRQ BIT(28) 55862306a36Sopenharmony_ci#define IRQ0ENABLE_OCP_ERR_IRQ BIT(29) 55962306a36Sopenharmony_ci#define IRQ0ENABLE_SEC_ERR_IRQ BIT(30) 56062306a36Sopenharmony_ci#define IRQ0ENABLE_HS_VS_IRQ BIT(31) 56162306a36Sopenharmony_ci 56262306a36Sopenharmony_ci#define IRQ0STATUS_CSIA_IRQ BIT(0) 56362306a36Sopenharmony_ci#define IRQ0STATUS_CSI2C_IRQ BIT(1) 56462306a36Sopenharmony_ci#define IRQ0STATUS_CCP2_LCM_IRQ BIT(3) 56562306a36Sopenharmony_ci#define IRQ0STATUS_CCP2_LC0_IRQ BIT(4) 56662306a36Sopenharmony_ci#define IRQ0STATUS_CSIB_IRQ (IRQ0STATUS_CCP2_LCM_IRQ | \ 56762306a36Sopenharmony_ci IRQ0STATUS_CCP2_LC0_IRQ) 56862306a36Sopenharmony_ci 56962306a36Sopenharmony_ci#define IRQ0STATUS_CSIB_LC1_IRQ BIT(5) 57062306a36Sopenharmony_ci#define IRQ0STATUS_CSIB_LC2_IRQ BIT(6) 57162306a36Sopenharmony_ci#define IRQ0STATUS_CSIB_LC3_IRQ BIT(7) 57262306a36Sopenharmony_ci#define IRQ0STATUS_CCDC_VD0_IRQ BIT(8) 57362306a36Sopenharmony_ci#define IRQ0STATUS_CCDC_VD1_IRQ BIT(9) 57462306a36Sopenharmony_ci#define IRQ0STATUS_CCDC_VD2_IRQ BIT(10) 57562306a36Sopenharmony_ci#define IRQ0STATUS_CCDC_ERR_IRQ BIT(11) 57662306a36Sopenharmony_ci#define IRQ0STATUS_H3A_AF_DONE_IRQ BIT(12) 57762306a36Sopenharmony_ci#define IRQ0STATUS_H3A_AWB_DONE_IRQ BIT(13) 57862306a36Sopenharmony_ci#define IRQ0STATUS_HIST_DONE_IRQ BIT(16) 57962306a36Sopenharmony_ci#define IRQ0STATUS_CCDC_LSC_DONE_IRQ BIT(17) 58062306a36Sopenharmony_ci#define IRQ0STATUS_CCDC_LSC_PREF_COMP_IRQ BIT(18) 58162306a36Sopenharmony_ci#define IRQ0STATUS_CCDC_LSC_PREF_ERR_IRQ BIT(19) 58262306a36Sopenharmony_ci#define IRQ0STATUS_PRV_DONE_IRQ BIT(20) 58362306a36Sopenharmony_ci#define IRQ0STATUS_RSZ_DONE_IRQ BIT(24) 58462306a36Sopenharmony_ci#define IRQ0STATUS_OVF_IRQ BIT(25) 58562306a36Sopenharmony_ci#define IRQ0STATUS_PING_IRQ BIT(26) 58662306a36Sopenharmony_ci#define IRQ0STATUS_PONG_IRQ BIT(27) 58762306a36Sopenharmony_ci#define IRQ0STATUS_MMU_ERR_IRQ BIT(28) 58862306a36Sopenharmony_ci#define IRQ0STATUS_OCP_ERR_IRQ BIT(29) 58962306a36Sopenharmony_ci#define IRQ0STATUS_SEC_ERR_IRQ BIT(30) 59062306a36Sopenharmony_ci#define IRQ0STATUS_HS_VS_IRQ BIT(31) 59162306a36Sopenharmony_ci 59262306a36Sopenharmony_ci#define TCTRL_GRESET_LEN 0 59362306a36Sopenharmony_ci 59462306a36Sopenharmony_ci#define TCTRL_PSTRB_REPLAY_DELAY 0 59562306a36Sopenharmony_ci#define TCTRL_PSTRB_REPLAY_COUNTER_SHIFT 25 59662306a36Sopenharmony_ci 59762306a36Sopenharmony_ci#define ISPCTRL_PAR_SER_CLK_SEL_PARALLEL 0x0 59862306a36Sopenharmony_ci#define ISPCTRL_PAR_SER_CLK_SEL_CSIA 0x1 59962306a36Sopenharmony_ci#define ISPCTRL_PAR_SER_CLK_SEL_CSIB 0x2 60062306a36Sopenharmony_ci#define ISPCTRL_PAR_SER_CLK_SEL_CSIC 0x3 60162306a36Sopenharmony_ci#define ISPCTRL_PAR_SER_CLK_SEL_MASK 0x3 60262306a36Sopenharmony_ci 60362306a36Sopenharmony_ci#define ISPCTRL_PAR_BRIDGE_SHIFT 2 60462306a36Sopenharmony_ci#define ISPCTRL_PAR_BRIDGE_DISABLE (0x0 << 2) 60562306a36Sopenharmony_ci#define ISPCTRL_PAR_BRIDGE_LENDIAN (0x2 << 2) 60662306a36Sopenharmony_ci#define ISPCTRL_PAR_BRIDGE_BENDIAN (0x3 << 2) 60762306a36Sopenharmony_ci#define ISPCTRL_PAR_BRIDGE_MASK (0x3 << 2) 60862306a36Sopenharmony_ci 60962306a36Sopenharmony_ci#define ISPCTRL_PAR_CLK_POL_SHIFT 4 61062306a36Sopenharmony_ci#define ISPCTRL_PAR_CLK_POL_INV BIT(4) 61162306a36Sopenharmony_ci#define ISPCTRL_PING_PONG_EN BIT(5) 61262306a36Sopenharmony_ci#define ISPCTRL_SHIFT_SHIFT 6 61362306a36Sopenharmony_ci#define ISPCTRL_SHIFT_0 (0x0 << 6) 61462306a36Sopenharmony_ci#define ISPCTRL_SHIFT_2 (0x1 << 6) 61562306a36Sopenharmony_ci#define ISPCTRL_SHIFT_4 (0x2 << 6) 61662306a36Sopenharmony_ci#define ISPCTRL_SHIFT_MASK (0x3 << 6) 61762306a36Sopenharmony_ci 61862306a36Sopenharmony_ci#define ISPCTRL_CCDC_CLK_EN BIT(8) 61962306a36Sopenharmony_ci#define ISPCTRL_SCMP_CLK_EN BIT(9) 62062306a36Sopenharmony_ci#define ISPCTRL_H3A_CLK_EN BIT(10) 62162306a36Sopenharmony_ci#define ISPCTRL_HIST_CLK_EN BIT(11) 62262306a36Sopenharmony_ci#define ISPCTRL_PREV_CLK_EN BIT(12) 62362306a36Sopenharmony_ci#define ISPCTRL_RSZ_CLK_EN BIT(13) 62462306a36Sopenharmony_ci#define ISPCTRL_SYNC_DETECT_SHIFT 14 62562306a36Sopenharmony_ci#define ISPCTRL_SYNC_DETECT_HSFALL (0x0 << ISPCTRL_SYNC_DETECT_SHIFT) 62662306a36Sopenharmony_ci#define ISPCTRL_SYNC_DETECT_HSRISE (0x1 << ISPCTRL_SYNC_DETECT_SHIFT) 62762306a36Sopenharmony_ci#define ISPCTRL_SYNC_DETECT_VSFALL (0x2 << ISPCTRL_SYNC_DETECT_SHIFT) 62862306a36Sopenharmony_ci#define ISPCTRL_SYNC_DETECT_VSRISE (0x3 << ISPCTRL_SYNC_DETECT_SHIFT) 62962306a36Sopenharmony_ci#define ISPCTRL_SYNC_DETECT_MASK (0x3 << ISPCTRL_SYNC_DETECT_SHIFT) 63062306a36Sopenharmony_ci 63162306a36Sopenharmony_ci#define ISPCTRL_CCDC_RAM_EN BIT(16) 63262306a36Sopenharmony_ci#define ISPCTRL_PREV_RAM_EN BIT(17) 63362306a36Sopenharmony_ci#define ISPCTRL_SBL_RD_RAM_EN BIT(18) 63462306a36Sopenharmony_ci#define ISPCTRL_SBL_WR1_RAM_EN BIT(19) 63562306a36Sopenharmony_ci#define ISPCTRL_SBL_WR0_RAM_EN BIT(20) 63662306a36Sopenharmony_ci#define ISPCTRL_SBL_AUTOIDLE BIT(21) 63762306a36Sopenharmony_ci#define ISPCTRL_SBL_SHARED_WPORTC BIT(26) 63862306a36Sopenharmony_ci#define ISPCTRL_SBL_SHARED_RPORTA BIT(27) 63962306a36Sopenharmony_ci#define ISPCTRL_SBL_SHARED_RPORTB BIT(28) 64062306a36Sopenharmony_ci#define ISPCTRL_JPEG_FLUSH BIT(30) 64162306a36Sopenharmony_ci#define ISPCTRL_CCDC_FLUSH BIT(31) 64262306a36Sopenharmony_ci 64362306a36Sopenharmony_ci#define ISPSECURE_SECUREMODE 0 64462306a36Sopenharmony_ci 64562306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIV_LOW 0x0 64662306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIV_HIGH 0x1 64762306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIV_BYPASS 0x1F 64862306a36Sopenharmony_ci 64962306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIVA_SHIFT 0 65062306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIVA_MASK (0x1F << ISPTCTRL_CTRL_DIVA_SHIFT) 65162306a36Sopenharmony_ci 65262306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIVB_SHIFT 5 65362306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIVB_MASK (0x1F << ISPTCTRL_CTRL_DIVB_SHIFT) 65462306a36Sopenharmony_ci 65562306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIVC_SHIFT 10 65662306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIVC_NOCLOCK (0x0 << 10) 65762306a36Sopenharmony_ci 65862306a36Sopenharmony_ci#define ISPTCTRL_CTRL_SHUTEN BIT(21) 65962306a36Sopenharmony_ci#define ISPTCTRL_CTRL_PSTRBEN BIT(22) 66062306a36Sopenharmony_ci#define ISPTCTRL_CTRL_STRBEN BIT(23) 66162306a36Sopenharmony_ci#define ISPTCTRL_CTRL_SHUTPOL BIT(24) 66262306a36Sopenharmony_ci#define ISPTCTRL_CTRL_STRBPSTRBPOL BIT(26) 66362306a36Sopenharmony_ci 66462306a36Sopenharmony_ci#define ISPTCTRL_CTRL_INSEL_SHIFT 27 66562306a36Sopenharmony_ci#define ISPTCTRL_CTRL_INSEL_PARALLEL (0x0 << 27) 66662306a36Sopenharmony_ci#define ISPTCTRL_CTRL_INSEL_CSIA (0x1 << 27) 66762306a36Sopenharmony_ci#define ISPTCTRL_CTRL_INSEL_CSIB (0x2 << 27) 66862306a36Sopenharmony_ci 66962306a36Sopenharmony_ci#define ISPTCTRL_CTRL_GRESETEn BIT(29) 67062306a36Sopenharmony_ci#define ISPTCTRL_CTRL_GRESETPOL BIT(30) 67162306a36Sopenharmony_ci#define ISPTCTRL_CTRL_GRESETDIR BIT(31) 67262306a36Sopenharmony_ci 67362306a36Sopenharmony_ci#define ISPTCTRL_FRAME_SHUT_SHIFT 0 67462306a36Sopenharmony_ci#define ISPTCTRL_FRAME_PSTRB_SHIFT 6 67562306a36Sopenharmony_ci#define ISPTCTRL_FRAME_STRB_SHIFT 12 67662306a36Sopenharmony_ci 67762306a36Sopenharmony_ci#define ISPCCDC_PID_PREV_SHIFT 0 67862306a36Sopenharmony_ci#define ISPCCDC_PID_CID_SHIFT 8 67962306a36Sopenharmony_ci#define ISPCCDC_PID_TID_SHIFT 16 68062306a36Sopenharmony_ci 68162306a36Sopenharmony_ci#define ISPCCDC_PCR_EN 1 68262306a36Sopenharmony_ci#define ISPCCDC_PCR_BUSY BIT(1) 68362306a36Sopenharmony_ci 68462306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_VDHDOUT 0x1 68562306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_FLDOUT BIT(1) 68662306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_VDPOL BIT(2) 68762306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_HDPOL BIT(3) 68862306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_FLDPOL BIT(4) 68962306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_EXWEN BIT(5) 69062306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_DATAPOL BIT(6) 69162306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_FLDMODE BIT(7) 69262306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_DATSIZ_MASK (0x7 << 8) 69362306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_DATSIZ_8_16 (0x0 << 8) 69462306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_DATSIZ_12 (0x4 << 8) 69562306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_DATSIZ_11 (0x5 << 8) 69662306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_DATSIZ_10 (0x6 << 8) 69762306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_DATSIZ_8 (0x7 << 8) 69862306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_PACK8 BIT(11) 69962306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_INPMOD_MASK (3 << 12) 70062306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_INPMOD_RAW (0 << 12) 70162306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_INPMOD_YCBCR16 (1 << 12) 70262306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_INPMOD_YCBCR8 (2 << 12) 70362306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_LPF BIT(14) 70462306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_FLDSTAT BIT(15) 70562306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_VDHDEN BIT(16) 70662306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_WEN BIT(17) 70762306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_VP2SDR BIT(18) 70862306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_SDR2RSZ BIT(19) 70962306a36Sopenharmony_ci 71062306a36Sopenharmony_ci#define ISPCCDC_HD_VD_WID_VDW_SHIFT 0 71162306a36Sopenharmony_ci#define ISPCCDC_HD_VD_WID_HDW_SHIFT 16 71262306a36Sopenharmony_ci 71362306a36Sopenharmony_ci#define ISPCCDC_PIX_LINES_HLPRF_SHIFT 0 71462306a36Sopenharmony_ci#define ISPCCDC_PIX_LINES_PPLN_SHIFT 16 71562306a36Sopenharmony_ci 71662306a36Sopenharmony_ci#define ISPCCDC_HORZ_INFO_NPH_SHIFT 0 71762306a36Sopenharmony_ci#define ISPCCDC_HORZ_INFO_NPH_MASK 0x00007fff 71862306a36Sopenharmony_ci#define ISPCCDC_HORZ_INFO_SPH_SHIFT 16 71962306a36Sopenharmony_ci#define ISPCCDC_HORZ_INFO_SPH_MASK 0x7fff0000 72062306a36Sopenharmony_ci 72162306a36Sopenharmony_ci#define ISPCCDC_VERT_START_SLV1_SHIFT 0 72262306a36Sopenharmony_ci#define ISPCCDC_VERT_START_SLV0_SHIFT 16 72362306a36Sopenharmony_ci#define ISPCCDC_VERT_START_SLV0_MASK 0x7fff0000 72462306a36Sopenharmony_ci 72562306a36Sopenharmony_ci#define ISPCCDC_VERT_LINES_NLV_SHIFT 0 72662306a36Sopenharmony_ci#define ISPCCDC_VERT_LINES_NLV_MASK 0x00007fff 72762306a36Sopenharmony_ci 72862306a36Sopenharmony_ci#define ISPCCDC_CULLING_CULV_SHIFT 0 72962306a36Sopenharmony_ci#define ISPCCDC_CULLING_CULHODD_SHIFT 16 73062306a36Sopenharmony_ci#define ISPCCDC_CULLING_CULHEVN_SHIFT 24 73162306a36Sopenharmony_ci 73262306a36Sopenharmony_ci#define ISPCCDC_HSIZE_OFF_SHIFT 0 73362306a36Sopenharmony_ci 73462306a36Sopenharmony_ci#define ISPCCDC_SDOFST_FIINV BIT(14) 73562306a36Sopenharmony_ci#define ISPCCDC_SDOFST_FOFST_SHIFT 12 73662306a36Sopenharmony_ci#define ISPCCDC_SDOFST_FOFST_MASK (3 << 12) 73762306a36Sopenharmony_ci#define ISPCCDC_SDOFST_LOFST3_SHIFT 0 73862306a36Sopenharmony_ci#define ISPCCDC_SDOFST_LOFST2_SHIFT 3 73962306a36Sopenharmony_ci#define ISPCCDC_SDOFST_LOFST1_SHIFT 6 74062306a36Sopenharmony_ci#define ISPCCDC_SDOFST_LOFST0_SHIFT 9 74162306a36Sopenharmony_ci 74262306a36Sopenharmony_ci#define ISPCCDC_CLAMP_OBGAIN_SHIFT 0 74362306a36Sopenharmony_ci#define ISPCCDC_CLAMP_OBST_SHIFT 10 74462306a36Sopenharmony_ci#define ISPCCDC_CLAMP_OBSLN_SHIFT 25 74562306a36Sopenharmony_ci#define ISPCCDC_CLAMP_OBSLEN_SHIFT 28 74662306a36Sopenharmony_ci#define ISPCCDC_CLAMP_CLAMPEN BIT(31) 74762306a36Sopenharmony_ci 74862306a36Sopenharmony_ci#define ISPCCDC_COLPTN_R_Ye 0x0 74962306a36Sopenharmony_ci#define ISPCCDC_COLPTN_Gr_Cy 0x1 75062306a36Sopenharmony_ci#define ISPCCDC_COLPTN_Gb_G 0x2 75162306a36Sopenharmony_ci#define ISPCCDC_COLPTN_B_Mg 0x3 75262306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP0PLC0_SHIFT 0 75362306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP0PLC1_SHIFT 2 75462306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP0PLC2_SHIFT 4 75562306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP0PLC3_SHIFT 6 75662306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP1PLC0_SHIFT 8 75762306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP1PLC1_SHIFT 10 75862306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP1PLC2_SHIFT 12 75962306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP1PLC3_SHIFT 14 76062306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP2PLC0_SHIFT 16 76162306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP2PLC1_SHIFT 18 76262306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP2PLC2_SHIFT 20 76362306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP2PLC3_SHIFT 22 76462306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP3PLC0_SHIFT 24 76562306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP3PLC1_SHIFT 26 76662306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP3PLC2_SHIFT 28 76762306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP3PLC3_SHIFT 30 76862306a36Sopenharmony_ci 76962306a36Sopenharmony_ci#define ISPCCDC_BLKCMP_B_MG_SHIFT 0 77062306a36Sopenharmony_ci#define ISPCCDC_BLKCMP_GB_G_SHIFT 8 77162306a36Sopenharmony_ci#define ISPCCDC_BLKCMP_GR_CY_SHIFT 16 77262306a36Sopenharmony_ci#define ISPCCDC_BLKCMP_R_YE_SHIFT 24 77362306a36Sopenharmony_ci 77462306a36Sopenharmony_ci#define ISPCCDC_FPC_FPNUM_SHIFT 0 77562306a36Sopenharmony_ci#define ISPCCDC_FPC_FPCEN BIT(15) 77662306a36Sopenharmony_ci#define ISPCCDC_FPC_FPERR BIT(16) 77762306a36Sopenharmony_ci 77862306a36Sopenharmony_ci#define ISPCCDC_VDINT_1_SHIFT 0 77962306a36Sopenharmony_ci#define ISPCCDC_VDINT_1_MASK 0x00007fff 78062306a36Sopenharmony_ci#define ISPCCDC_VDINT_0_SHIFT 16 78162306a36Sopenharmony_ci#define ISPCCDC_VDINT_0_MASK 0x7fff0000 78262306a36Sopenharmony_ci 78362306a36Sopenharmony_ci#define ISPCCDC_ALAW_GWDI_12_3 (0x3 << 0) 78462306a36Sopenharmony_ci#define ISPCCDC_ALAW_GWDI_11_2 (0x4 << 0) 78562306a36Sopenharmony_ci#define ISPCCDC_ALAW_GWDI_10_1 (0x5 << 0) 78662306a36Sopenharmony_ci#define ISPCCDC_ALAW_GWDI_9_0 (0x6 << 0) 78762306a36Sopenharmony_ci#define ISPCCDC_ALAW_CCDTBL BIT(3) 78862306a36Sopenharmony_ci 78962306a36Sopenharmony_ci#define ISPCCDC_REC656IF_R656ON 1 79062306a36Sopenharmony_ci#define ISPCCDC_REC656IF_ECCFVH BIT(1) 79162306a36Sopenharmony_ci 79262306a36Sopenharmony_ci#define ISPCCDC_CFG_BW656 BIT(5) 79362306a36Sopenharmony_ci#define ISPCCDC_CFG_FIDMD_SHIFT 6 79462306a36Sopenharmony_ci#define ISPCCDC_CFG_WENLOG BIT(8) 79562306a36Sopenharmony_ci#define ISPCCDC_CFG_WENLOG_AND (0 << 8) 79662306a36Sopenharmony_ci#define ISPCCDC_CFG_WENLOG_OR (1 << 8) 79762306a36Sopenharmony_ci#define ISPCCDC_CFG_Y8POS BIT(11) 79862306a36Sopenharmony_ci#define ISPCCDC_CFG_BSWD BIT(12) 79962306a36Sopenharmony_ci#define ISPCCDC_CFG_MSBINVI BIT(13) 80062306a36Sopenharmony_ci#define ISPCCDC_CFG_VDLC BIT(15) 80162306a36Sopenharmony_ci 80262306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_FMTEN 0x1 80362306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_LNALT BIT(1) 80462306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_LNUM_SHIFT 2 80562306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_PLEN_ODD_SHIFT 4 80662306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_PLEN_EVEN_SHIFT 8 80762306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIN_MASK 0x00007000 80862306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIN_12_3 (0x3 << 12) 80962306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIN_11_2 (0x4 << 12) 81062306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIN_10_1 (0x5 << 12) 81162306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIN_9_0 (0x6 << 12) 81262306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPEN BIT(15) 81362306a36Sopenharmony_ci 81462306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIF_FRQ_MASK 0x003f0000 81562306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIF_FRQ_SHIFT 16 81662306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIF_FRQ_BY2 (0x0 << 16) 81762306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIF_FRQ_BY3 (0x1 << 16) 81862306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIF_FRQ_BY4 (0x2 << 16) 81962306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIF_FRQ_BY5 (0x3 << 16) 82062306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIF_FRQ_BY6 (0x4 << 16) 82162306a36Sopenharmony_ci 82262306a36Sopenharmony_ci#define ISPCCDC_FMT_HORZ_FMTLNH_SHIFT 0 82362306a36Sopenharmony_ci#define ISPCCDC_FMT_HORZ_FMTSPH_SHIFT 16 82462306a36Sopenharmony_ci 82562306a36Sopenharmony_ci#define ISPCCDC_FMT_VERT_FMTLNV_SHIFT 0 82662306a36Sopenharmony_ci#define ISPCCDC_FMT_VERT_FMTSLV_SHIFT 16 82762306a36Sopenharmony_ci 82862306a36Sopenharmony_ci#define ISPCCDC_FMT_HORZ_FMTSPH_MASK 0x1fff0000 82962306a36Sopenharmony_ci#define ISPCCDC_FMT_HORZ_FMTLNH_MASK 0x00001fff 83062306a36Sopenharmony_ci 83162306a36Sopenharmony_ci#define ISPCCDC_FMT_VERT_FMTSLV_MASK 0x1fff0000 83262306a36Sopenharmony_ci#define ISPCCDC_FMT_VERT_FMTLNV_MASK 0x00001fff 83362306a36Sopenharmony_ci 83462306a36Sopenharmony_ci#define ISPCCDC_VP_OUT_HORZ_ST_SHIFT 0 83562306a36Sopenharmony_ci#define ISPCCDC_VP_OUT_HORZ_NUM_SHIFT 4 83662306a36Sopenharmony_ci#define ISPCCDC_VP_OUT_VERT_NUM_SHIFT 17 83762306a36Sopenharmony_ci 83862306a36Sopenharmony_ci#define ISPRSZ_PID_PREV_SHIFT 0 83962306a36Sopenharmony_ci#define ISPRSZ_PID_CID_SHIFT 8 84062306a36Sopenharmony_ci#define ISPRSZ_PID_TID_SHIFT 16 84162306a36Sopenharmony_ci 84262306a36Sopenharmony_ci#define ISPRSZ_PCR_ENABLE BIT(0) 84362306a36Sopenharmony_ci#define ISPRSZ_PCR_BUSY BIT(1) 84462306a36Sopenharmony_ci#define ISPRSZ_PCR_ONESHOT BIT(2) 84562306a36Sopenharmony_ci 84662306a36Sopenharmony_ci#define ISPRSZ_CNT_HRSZ_SHIFT 0 84762306a36Sopenharmony_ci#define ISPRSZ_CNT_HRSZ_MASK \ 84862306a36Sopenharmony_ci (0x3FF << ISPRSZ_CNT_HRSZ_SHIFT) 84962306a36Sopenharmony_ci#define ISPRSZ_CNT_VRSZ_SHIFT 10 85062306a36Sopenharmony_ci#define ISPRSZ_CNT_VRSZ_MASK \ 85162306a36Sopenharmony_ci (0x3FF << ISPRSZ_CNT_VRSZ_SHIFT) 85262306a36Sopenharmony_ci#define ISPRSZ_CNT_HSTPH_SHIFT 20 85362306a36Sopenharmony_ci#define ISPRSZ_CNT_HSTPH_MASK (0x7 << ISPRSZ_CNT_HSTPH_SHIFT) 85462306a36Sopenharmony_ci#define ISPRSZ_CNT_VSTPH_SHIFT 23 85562306a36Sopenharmony_ci#define ISPRSZ_CNT_VSTPH_MASK (0x7 << ISPRSZ_CNT_VSTPH_SHIFT) 85662306a36Sopenharmony_ci#define ISPRSZ_CNT_YCPOS BIT(26) 85762306a36Sopenharmony_ci#define ISPRSZ_CNT_INPTYP BIT(27) 85862306a36Sopenharmony_ci#define ISPRSZ_CNT_INPSRC BIT(28) 85962306a36Sopenharmony_ci#define ISPRSZ_CNT_CBILIN BIT(29) 86062306a36Sopenharmony_ci 86162306a36Sopenharmony_ci#define ISPRSZ_OUT_SIZE_HORZ_SHIFT 0 86262306a36Sopenharmony_ci#define ISPRSZ_OUT_SIZE_HORZ_MASK \ 86362306a36Sopenharmony_ci (0xFFF << ISPRSZ_OUT_SIZE_HORZ_SHIFT) 86462306a36Sopenharmony_ci#define ISPRSZ_OUT_SIZE_VERT_SHIFT 16 86562306a36Sopenharmony_ci#define ISPRSZ_OUT_SIZE_VERT_MASK \ 86662306a36Sopenharmony_ci (0xFFF << ISPRSZ_OUT_SIZE_VERT_SHIFT) 86762306a36Sopenharmony_ci 86862306a36Sopenharmony_ci#define ISPRSZ_IN_START_HORZ_ST_SHIFT 0 86962306a36Sopenharmony_ci#define ISPRSZ_IN_START_HORZ_ST_MASK \ 87062306a36Sopenharmony_ci (0x1FFF << ISPRSZ_IN_START_HORZ_ST_SHIFT) 87162306a36Sopenharmony_ci#define ISPRSZ_IN_START_VERT_ST_SHIFT 16 87262306a36Sopenharmony_ci#define ISPRSZ_IN_START_VERT_ST_MASK \ 87362306a36Sopenharmony_ci (0x1FFF << ISPRSZ_IN_START_VERT_ST_SHIFT) 87462306a36Sopenharmony_ci 87562306a36Sopenharmony_ci#define ISPRSZ_IN_SIZE_HORZ_SHIFT 0 87662306a36Sopenharmony_ci#define ISPRSZ_IN_SIZE_HORZ_MASK \ 87762306a36Sopenharmony_ci (0x1FFF << ISPRSZ_IN_SIZE_HORZ_SHIFT) 87862306a36Sopenharmony_ci#define ISPRSZ_IN_SIZE_VERT_SHIFT 16 87962306a36Sopenharmony_ci#define ISPRSZ_IN_SIZE_VERT_MASK \ 88062306a36Sopenharmony_ci (0x1FFF << ISPRSZ_IN_SIZE_VERT_SHIFT) 88162306a36Sopenharmony_ci 88262306a36Sopenharmony_ci#define ISPRSZ_SDR_INADD_ADDR_SHIFT 0 88362306a36Sopenharmony_ci#define ISPRSZ_SDR_INADD_ADDR_MASK 0xFFFFFFFF 88462306a36Sopenharmony_ci 88562306a36Sopenharmony_ci#define ISPRSZ_SDR_INOFF_OFFSET_SHIFT 0 88662306a36Sopenharmony_ci#define ISPRSZ_SDR_INOFF_OFFSET_MASK \ 88762306a36Sopenharmony_ci (0xFFFF << ISPRSZ_SDR_INOFF_OFFSET_SHIFT) 88862306a36Sopenharmony_ci 88962306a36Sopenharmony_ci#define ISPRSZ_SDR_OUTADD_ADDR_SHIFT 0 89062306a36Sopenharmony_ci#define ISPRSZ_SDR_OUTADD_ADDR_MASK 0xFFFFFFFF 89162306a36Sopenharmony_ci 89262306a36Sopenharmony_ci 89362306a36Sopenharmony_ci#define ISPRSZ_SDR_OUTOFF_OFFSET_SHIFT 0 89462306a36Sopenharmony_ci#define ISPRSZ_SDR_OUTOFF_OFFSET_MASK \ 89562306a36Sopenharmony_ci (0xFFFF << ISPRSZ_SDR_OUTOFF_OFFSET_SHIFT) 89662306a36Sopenharmony_ci 89762306a36Sopenharmony_ci#define ISPRSZ_HFILT_COEF0_SHIFT 0 89862306a36Sopenharmony_ci#define ISPRSZ_HFILT_COEF0_MASK \ 89962306a36Sopenharmony_ci (0x3FF << ISPRSZ_HFILT_COEF0_SHIFT) 90062306a36Sopenharmony_ci#define ISPRSZ_HFILT_COEF1_SHIFT 16 90162306a36Sopenharmony_ci#define ISPRSZ_HFILT_COEF1_MASK \ 90262306a36Sopenharmony_ci (0x3FF << ISPRSZ_HFILT_COEF1_SHIFT) 90362306a36Sopenharmony_ci 90462306a36Sopenharmony_ci#define ISPRSZ_HFILT32_COEF2_SHIFT 0 90562306a36Sopenharmony_ci#define ISPRSZ_HFILT32_COEF2_MASK 0x3FF 90662306a36Sopenharmony_ci#define ISPRSZ_HFILT32_COEF3_SHIFT 16 90762306a36Sopenharmony_ci#define ISPRSZ_HFILT32_COEF3_MASK 0x3FF0000 90862306a36Sopenharmony_ci 90962306a36Sopenharmony_ci#define ISPRSZ_HFILT54_COEF4_SHIFT 0 91062306a36Sopenharmony_ci#define ISPRSZ_HFILT54_COEF4_MASK 0x3FF 91162306a36Sopenharmony_ci#define ISPRSZ_HFILT54_COEF5_SHIFT 16 91262306a36Sopenharmony_ci#define ISPRSZ_HFILT54_COEF5_MASK 0x3FF0000 91362306a36Sopenharmony_ci 91462306a36Sopenharmony_ci#define ISPRSZ_HFILT76_COEFF6_SHIFT 0 91562306a36Sopenharmony_ci#define ISPRSZ_HFILT76_COEFF6_MASK 0x3FF 91662306a36Sopenharmony_ci#define ISPRSZ_HFILT76_COEFF7_SHIFT 16 91762306a36Sopenharmony_ci#define ISPRSZ_HFILT76_COEFF7_MASK 0x3FF0000 91862306a36Sopenharmony_ci 91962306a36Sopenharmony_ci#define ISPRSZ_HFILT98_COEFF8_SHIFT 0 92062306a36Sopenharmony_ci#define ISPRSZ_HFILT98_COEFF8_MASK 0x3FF 92162306a36Sopenharmony_ci#define ISPRSZ_HFILT98_COEFF9_SHIFT 16 92262306a36Sopenharmony_ci#define ISPRSZ_HFILT98_COEFF9_MASK 0x3FF0000 92362306a36Sopenharmony_ci 92462306a36Sopenharmony_ci#define ISPRSZ_HFILT1110_COEF10_SHIFT 0 92562306a36Sopenharmony_ci#define ISPRSZ_HFILT1110_COEF10_MASK 0x3FF 92662306a36Sopenharmony_ci#define ISPRSZ_HFILT1110_COEF11_SHIFT 16 92762306a36Sopenharmony_ci#define ISPRSZ_HFILT1110_COEF11_MASK 0x3FF0000 92862306a36Sopenharmony_ci 92962306a36Sopenharmony_ci#define ISPRSZ_HFILT1312_COEFF12_SHIFT 0 93062306a36Sopenharmony_ci#define ISPRSZ_HFILT1312_COEFF12_MASK 0x3FF 93162306a36Sopenharmony_ci#define ISPRSZ_HFILT1312_COEFF13_SHIFT 16 93262306a36Sopenharmony_ci#define ISPRSZ_HFILT1312_COEFF13_MASK 0x3FF0000 93362306a36Sopenharmony_ci 93462306a36Sopenharmony_ci#define ISPRSZ_HFILT1514_COEFF14_SHIFT 0 93562306a36Sopenharmony_ci#define ISPRSZ_HFILT1514_COEFF14_MASK 0x3FF 93662306a36Sopenharmony_ci#define ISPRSZ_HFILT1514_COEFF15_SHIFT 16 93762306a36Sopenharmony_ci#define ISPRSZ_HFILT1514_COEFF15_MASK 0x3FF0000 93862306a36Sopenharmony_ci 93962306a36Sopenharmony_ci#define ISPRSZ_HFILT1716_COEF16_SHIFT 0 94062306a36Sopenharmony_ci#define ISPRSZ_HFILT1716_COEF16_MASK 0x3FF 94162306a36Sopenharmony_ci#define ISPRSZ_HFILT1716_COEF17_SHIFT 16 94262306a36Sopenharmony_ci#define ISPRSZ_HFILT1716_COEF17_MASK 0x3FF0000 94362306a36Sopenharmony_ci 94462306a36Sopenharmony_ci#define ISPRSZ_HFILT1918_COEF18_SHIFT 0 94562306a36Sopenharmony_ci#define ISPRSZ_HFILT1918_COEF18_MASK 0x3FF 94662306a36Sopenharmony_ci#define ISPRSZ_HFILT1918_COEF19_SHIFT 16 94762306a36Sopenharmony_ci#define ISPRSZ_HFILT1918_COEF19_MASK 0x3FF0000 94862306a36Sopenharmony_ci 94962306a36Sopenharmony_ci#define ISPRSZ_HFILT2120_COEF20_SHIFT 0 95062306a36Sopenharmony_ci#define ISPRSZ_HFILT2120_COEF20_MASK 0x3FF 95162306a36Sopenharmony_ci#define ISPRSZ_HFILT2120_COEF21_SHIFT 16 95262306a36Sopenharmony_ci#define ISPRSZ_HFILT2120_COEF21_MASK 0x3FF0000 95362306a36Sopenharmony_ci 95462306a36Sopenharmony_ci#define ISPRSZ_HFILT2322_COEF22_SHIFT 0 95562306a36Sopenharmony_ci#define ISPRSZ_HFILT2322_COEF22_MASK 0x3FF 95662306a36Sopenharmony_ci#define ISPRSZ_HFILT2322_COEF23_SHIFT 16 95762306a36Sopenharmony_ci#define ISPRSZ_HFILT2322_COEF23_MASK 0x3FF0000 95862306a36Sopenharmony_ci 95962306a36Sopenharmony_ci#define ISPRSZ_HFILT2524_COEF24_SHIFT 0 96062306a36Sopenharmony_ci#define ISPRSZ_HFILT2524_COEF24_MASK 0x3FF 96162306a36Sopenharmony_ci#define ISPRSZ_HFILT2524_COEF25_SHIFT 16 96262306a36Sopenharmony_ci#define ISPRSZ_HFILT2524_COEF25_MASK 0x3FF0000 96362306a36Sopenharmony_ci 96462306a36Sopenharmony_ci#define ISPRSZ_HFILT2726_COEF26_SHIFT 0 96562306a36Sopenharmony_ci#define ISPRSZ_HFILT2726_COEF26_MASK 0x3FF 96662306a36Sopenharmony_ci#define ISPRSZ_HFILT2726_COEF27_SHIFT 16 96762306a36Sopenharmony_ci#define ISPRSZ_HFILT2726_COEF27_MASK 0x3FF0000 96862306a36Sopenharmony_ci 96962306a36Sopenharmony_ci#define ISPRSZ_HFILT2928_COEF28_SHIFT 0 97062306a36Sopenharmony_ci#define ISPRSZ_HFILT2928_COEF28_MASK 0x3FF 97162306a36Sopenharmony_ci#define ISPRSZ_HFILT2928_COEF29_SHIFT 16 97262306a36Sopenharmony_ci#define ISPRSZ_HFILT2928_COEF29_MASK 0x3FF0000 97362306a36Sopenharmony_ci 97462306a36Sopenharmony_ci#define ISPRSZ_HFILT3130_COEF30_SHIFT 0 97562306a36Sopenharmony_ci#define ISPRSZ_HFILT3130_COEF30_MASK 0x3FF 97662306a36Sopenharmony_ci#define ISPRSZ_HFILT3130_COEF31_SHIFT 16 97762306a36Sopenharmony_ci#define ISPRSZ_HFILT3130_COEF31_MASK 0x3FF0000 97862306a36Sopenharmony_ci 97962306a36Sopenharmony_ci#define ISPRSZ_VFILT_COEF0_SHIFT 0 98062306a36Sopenharmony_ci#define ISPRSZ_VFILT_COEF0_MASK \ 98162306a36Sopenharmony_ci (0x3FF << ISPRSZ_VFILT_COEF0_SHIFT) 98262306a36Sopenharmony_ci#define ISPRSZ_VFILT_COEF1_SHIFT 16 98362306a36Sopenharmony_ci#define ISPRSZ_VFILT_COEF1_MASK \ 98462306a36Sopenharmony_ci (0x3FF << ISPRSZ_VFILT_COEF1_SHIFT) 98562306a36Sopenharmony_ci 98662306a36Sopenharmony_ci#define ISPRSZ_VFILT10_COEF0_SHIFT 0 98762306a36Sopenharmony_ci#define ISPRSZ_VFILT10_COEF0_MASK 0x3FF 98862306a36Sopenharmony_ci#define ISPRSZ_VFILT10_COEF1_SHIFT 16 98962306a36Sopenharmony_ci#define ISPRSZ_VFILT10_COEF1_MASK 0x3FF0000 99062306a36Sopenharmony_ci 99162306a36Sopenharmony_ci#define ISPRSZ_VFILT32_COEF2_SHIFT 0 99262306a36Sopenharmony_ci#define ISPRSZ_VFILT32_COEF2_MASK 0x3FF 99362306a36Sopenharmony_ci#define ISPRSZ_VFILT32_COEF3_SHIFT 16 99462306a36Sopenharmony_ci#define ISPRSZ_VFILT32_COEF3_MASK 0x3FF0000 99562306a36Sopenharmony_ci 99662306a36Sopenharmony_ci#define ISPRSZ_VFILT54_COEF4_SHIFT 0 99762306a36Sopenharmony_ci#define ISPRSZ_VFILT54_COEF4_MASK 0x3FF 99862306a36Sopenharmony_ci#define ISPRSZ_VFILT54_COEF5_SHIFT 16 99962306a36Sopenharmony_ci#define ISPRSZ_VFILT54_COEF5_MASK 0x3FF0000 100062306a36Sopenharmony_ci 100162306a36Sopenharmony_ci#define ISPRSZ_VFILT76_COEFF6_SHIFT 0 100262306a36Sopenharmony_ci#define ISPRSZ_VFILT76_COEFF6_MASK 0x3FF 100362306a36Sopenharmony_ci#define ISPRSZ_VFILT76_COEFF7_SHIFT 16 100462306a36Sopenharmony_ci#define ISPRSZ_VFILT76_COEFF7_MASK 0x3FF0000 100562306a36Sopenharmony_ci 100662306a36Sopenharmony_ci#define ISPRSZ_VFILT98_COEFF8_SHIFT 0 100762306a36Sopenharmony_ci#define ISPRSZ_VFILT98_COEFF8_MASK 0x3FF 100862306a36Sopenharmony_ci#define ISPRSZ_VFILT98_COEFF9_SHIFT 16 100962306a36Sopenharmony_ci#define ISPRSZ_VFILT98_COEFF9_MASK 0x3FF0000 101062306a36Sopenharmony_ci 101162306a36Sopenharmony_ci#define ISPRSZ_VFILT1110_COEF10_SHIFT 0 101262306a36Sopenharmony_ci#define ISPRSZ_VFILT1110_COEF10_MASK 0x3FF 101362306a36Sopenharmony_ci#define ISPRSZ_VFILT1110_COEF11_SHIFT 16 101462306a36Sopenharmony_ci#define ISPRSZ_VFILT1110_COEF11_MASK 0x3FF0000 101562306a36Sopenharmony_ci 101662306a36Sopenharmony_ci#define ISPRSZ_VFILT1312_COEFF12_SHIFT 0 101762306a36Sopenharmony_ci#define ISPRSZ_VFILT1312_COEFF12_MASK 0x3FF 101862306a36Sopenharmony_ci#define ISPRSZ_VFILT1312_COEFF13_SHIFT 16 101962306a36Sopenharmony_ci#define ISPRSZ_VFILT1312_COEFF13_MASK 0x3FF0000 102062306a36Sopenharmony_ci 102162306a36Sopenharmony_ci#define ISPRSZ_VFILT1514_COEFF14_SHIFT 0 102262306a36Sopenharmony_ci#define ISPRSZ_VFILT1514_COEFF14_MASK 0x3FF 102362306a36Sopenharmony_ci#define ISPRSZ_VFILT1514_COEFF15_SHIFT 16 102462306a36Sopenharmony_ci#define ISPRSZ_VFILT1514_COEFF15_MASK 0x3FF0000 102562306a36Sopenharmony_ci 102662306a36Sopenharmony_ci#define ISPRSZ_VFILT1716_COEF16_SHIFT 0 102762306a36Sopenharmony_ci#define ISPRSZ_VFILT1716_COEF16_MASK 0x3FF 102862306a36Sopenharmony_ci#define ISPRSZ_VFILT1716_COEF17_SHIFT 16 102962306a36Sopenharmony_ci#define ISPRSZ_VFILT1716_COEF17_MASK 0x3FF0000 103062306a36Sopenharmony_ci 103162306a36Sopenharmony_ci#define ISPRSZ_VFILT1918_COEF18_SHIFT 0 103262306a36Sopenharmony_ci#define ISPRSZ_VFILT1918_COEF18_MASK 0x3FF 103362306a36Sopenharmony_ci#define ISPRSZ_VFILT1918_COEF19_SHIFT 16 103462306a36Sopenharmony_ci#define ISPRSZ_VFILT1918_COEF19_MASK 0x3FF0000 103562306a36Sopenharmony_ci 103662306a36Sopenharmony_ci#define ISPRSZ_VFILT2120_COEF20_SHIFT 0 103762306a36Sopenharmony_ci#define ISPRSZ_VFILT2120_COEF20_MASK 0x3FF 103862306a36Sopenharmony_ci#define ISPRSZ_VFILT2120_COEF21_SHIFT 16 103962306a36Sopenharmony_ci#define ISPRSZ_VFILT2120_COEF21_MASK 0x3FF0000 104062306a36Sopenharmony_ci 104162306a36Sopenharmony_ci#define ISPRSZ_VFILT2322_COEF22_SHIFT 0 104262306a36Sopenharmony_ci#define ISPRSZ_VFILT2322_COEF22_MASK 0x3FF 104362306a36Sopenharmony_ci#define ISPRSZ_VFILT2322_COEF23_SHIFT 16 104462306a36Sopenharmony_ci#define ISPRSZ_VFILT2322_COEF23_MASK 0x3FF0000 104562306a36Sopenharmony_ci 104662306a36Sopenharmony_ci#define ISPRSZ_VFILT2524_COEF24_SHIFT 0 104762306a36Sopenharmony_ci#define ISPRSZ_VFILT2524_COEF24_MASK 0x3FF 104862306a36Sopenharmony_ci#define ISPRSZ_VFILT2524_COEF25_SHIFT 16 104962306a36Sopenharmony_ci#define ISPRSZ_VFILT2524_COEF25_MASK 0x3FF0000 105062306a36Sopenharmony_ci 105162306a36Sopenharmony_ci#define ISPRSZ_VFILT2726_COEF26_SHIFT 0 105262306a36Sopenharmony_ci#define ISPRSZ_VFILT2726_COEF26_MASK 0x3FF 105362306a36Sopenharmony_ci#define ISPRSZ_VFILT2726_COEF27_SHIFT 16 105462306a36Sopenharmony_ci#define ISPRSZ_VFILT2726_COEF27_MASK 0x3FF0000 105562306a36Sopenharmony_ci 105662306a36Sopenharmony_ci#define ISPRSZ_VFILT2928_COEF28_SHIFT 0 105762306a36Sopenharmony_ci#define ISPRSZ_VFILT2928_COEF28_MASK 0x3FF 105862306a36Sopenharmony_ci#define ISPRSZ_VFILT2928_COEF29_SHIFT 16 105962306a36Sopenharmony_ci#define ISPRSZ_VFILT2928_COEF29_MASK 0x3FF0000 106062306a36Sopenharmony_ci 106162306a36Sopenharmony_ci#define ISPRSZ_VFILT3130_COEF30_SHIFT 0 106262306a36Sopenharmony_ci#define ISPRSZ_VFILT3130_COEF30_MASK 0x3FF 106362306a36Sopenharmony_ci#define ISPRSZ_VFILT3130_COEF31_SHIFT 16 106462306a36Sopenharmony_ci#define ISPRSZ_VFILT3130_COEF31_MASK 0x3FF0000 106562306a36Sopenharmony_ci 106662306a36Sopenharmony_ci#define ISPRSZ_YENH_CORE_SHIFT 0 106762306a36Sopenharmony_ci#define ISPRSZ_YENH_CORE_MASK \ 106862306a36Sopenharmony_ci (0xFF << ISPRSZ_YENH_CORE_SHIFT) 106962306a36Sopenharmony_ci#define ISPRSZ_YENH_SLOP_SHIFT 8 107062306a36Sopenharmony_ci#define ISPRSZ_YENH_SLOP_MASK \ 107162306a36Sopenharmony_ci (0xF << ISPRSZ_YENH_SLOP_SHIFT) 107262306a36Sopenharmony_ci#define ISPRSZ_YENH_GAIN_SHIFT 12 107362306a36Sopenharmony_ci#define ISPRSZ_YENH_GAIN_MASK \ 107462306a36Sopenharmony_ci (0xF << ISPRSZ_YENH_GAIN_SHIFT) 107562306a36Sopenharmony_ci#define ISPRSZ_YENH_ALGO_SHIFT 16 107662306a36Sopenharmony_ci#define ISPRSZ_YENH_ALGO_MASK \ 107762306a36Sopenharmony_ci (0x3 << ISPRSZ_YENH_ALGO_SHIFT) 107862306a36Sopenharmony_ci 107962306a36Sopenharmony_ci#define ISPH3A_PCR_AEW_ALAW_EN_SHIFT 1 108062306a36Sopenharmony_ci#define ISPH3A_PCR_AF_MED_TH_SHIFT 3 108162306a36Sopenharmony_ci#define ISPH3A_PCR_AF_RGBPOS_SHIFT 11 108262306a36Sopenharmony_ci#define ISPH3A_PCR_AEW_AVE2LMT_SHIFT 22 108362306a36Sopenharmony_ci#define ISPH3A_PCR_AEW_AVE2LMT_MASK 0xFFC00000 108462306a36Sopenharmony_ci#define ISPH3A_PCR_BUSYAF BIT(15) 108562306a36Sopenharmony_ci#define ISPH3A_PCR_BUSYAEAWB BIT(18) 108662306a36Sopenharmony_ci 108762306a36Sopenharmony_ci#define ISPH3A_AEWWIN1_WINHC_SHIFT 0 108862306a36Sopenharmony_ci#define ISPH3A_AEWWIN1_WINHC_MASK 0x3F 108962306a36Sopenharmony_ci#define ISPH3A_AEWWIN1_WINVC_SHIFT 6 109062306a36Sopenharmony_ci#define ISPH3A_AEWWIN1_WINVC_MASK 0x1FC0 109162306a36Sopenharmony_ci#define ISPH3A_AEWWIN1_WINW_SHIFT 13 109262306a36Sopenharmony_ci#define ISPH3A_AEWWIN1_WINW_MASK 0xFE000 109362306a36Sopenharmony_ci#define ISPH3A_AEWWIN1_WINH_SHIFT 24 109462306a36Sopenharmony_ci#define ISPH3A_AEWWIN1_WINH_MASK 0x7F000000 109562306a36Sopenharmony_ci 109662306a36Sopenharmony_ci#define ISPH3A_AEWINSTART_WINSH_SHIFT 0 109762306a36Sopenharmony_ci#define ISPH3A_AEWINSTART_WINSH_MASK 0x0FFF 109862306a36Sopenharmony_ci#define ISPH3A_AEWINSTART_WINSV_SHIFT 16 109962306a36Sopenharmony_ci#define ISPH3A_AEWINSTART_WINSV_MASK 0x0FFF0000 110062306a36Sopenharmony_ci 110162306a36Sopenharmony_ci#define ISPH3A_AEWINBLK_WINH_SHIFT 0 110262306a36Sopenharmony_ci#define ISPH3A_AEWINBLK_WINH_MASK 0x7F 110362306a36Sopenharmony_ci#define ISPH3A_AEWINBLK_WINSV_SHIFT 16 110462306a36Sopenharmony_ci#define ISPH3A_AEWINBLK_WINSV_MASK 0x0FFF0000 110562306a36Sopenharmony_ci 110662306a36Sopenharmony_ci#define ISPH3A_AEWSUBWIN_AEWINCH_SHIFT 0 110762306a36Sopenharmony_ci#define ISPH3A_AEWSUBWIN_AEWINCH_MASK 0x0F 110862306a36Sopenharmony_ci#define ISPH3A_AEWSUBWIN_AEWINCV_SHIFT 8 110962306a36Sopenharmony_ci#define ISPH3A_AEWSUBWIN_AEWINCV_MASK 0x0F00 111062306a36Sopenharmony_ci 111162306a36Sopenharmony_ci#define ISPHIST_PCR_ENABLE_SHIFT 0 111262306a36Sopenharmony_ci#define ISPHIST_PCR_ENABLE_MASK 0x01 111362306a36Sopenharmony_ci#define ISPHIST_PCR_ENABLE (1 << ISPHIST_PCR_ENABLE_SHIFT) 111462306a36Sopenharmony_ci#define ISPHIST_PCR_BUSY 0x02 111562306a36Sopenharmony_ci 111662306a36Sopenharmony_ci#define ISPHIST_CNT_DATASIZE_SHIFT 8 111762306a36Sopenharmony_ci#define ISPHIST_CNT_DATASIZE_MASK 0x0100 111862306a36Sopenharmony_ci#define ISPHIST_CNT_CLEAR_SHIFT 7 111962306a36Sopenharmony_ci#define ISPHIST_CNT_CLEAR_MASK 0x080 112062306a36Sopenharmony_ci#define ISPHIST_CNT_CLEAR (1 << ISPHIST_CNT_CLEAR_SHIFT) 112162306a36Sopenharmony_ci#define ISPHIST_CNT_CFA_SHIFT 6 112262306a36Sopenharmony_ci#define ISPHIST_CNT_CFA_MASK 0x040 112362306a36Sopenharmony_ci#define ISPHIST_CNT_BINS_SHIFT 4 112462306a36Sopenharmony_ci#define ISPHIST_CNT_BINS_MASK 0x030 112562306a36Sopenharmony_ci#define ISPHIST_CNT_SOURCE_SHIFT 3 112662306a36Sopenharmony_ci#define ISPHIST_CNT_SOURCE_MASK 0x08 112762306a36Sopenharmony_ci#define ISPHIST_CNT_SHIFT_SHIFT 0 112862306a36Sopenharmony_ci#define ISPHIST_CNT_SHIFT_MASK 0x07 112962306a36Sopenharmony_ci 113062306a36Sopenharmony_ci#define ISPHIST_WB_GAIN_WG00_SHIFT 24 113162306a36Sopenharmony_ci#define ISPHIST_WB_GAIN_WG00_MASK 0xFF000000 113262306a36Sopenharmony_ci#define ISPHIST_WB_GAIN_WG01_SHIFT 16 113362306a36Sopenharmony_ci#define ISPHIST_WB_GAIN_WG01_MASK 0xFF0000 113462306a36Sopenharmony_ci#define ISPHIST_WB_GAIN_WG02_SHIFT 8 113562306a36Sopenharmony_ci#define ISPHIST_WB_GAIN_WG02_MASK 0xFF00 113662306a36Sopenharmony_ci#define ISPHIST_WB_GAIN_WG03_SHIFT 0 113762306a36Sopenharmony_ci#define ISPHIST_WB_GAIN_WG03_MASK 0xFF 113862306a36Sopenharmony_ci 113962306a36Sopenharmony_ci#define ISPHIST_REG_START_END_MASK 0x3FFF 114062306a36Sopenharmony_ci#define ISPHIST_REG_START_SHIFT 16 114162306a36Sopenharmony_ci#define ISPHIST_REG_END_SHIFT 0 114262306a36Sopenharmony_ci#define ISPHIST_REG_START_MASK (ISPHIST_REG_START_END_MASK << \ 114362306a36Sopenharmony_ci ISPHIST_REG_START_SHIFT) 114462306a36Sopenharmony_ci#define ISPHIST_REG_END_MASK (ISPHIST_REG_START_END_MASK << \ 114562306a36Sopenharmony_ci ISPHIST_REG_END_SHIFT) 114662306a36Sopenharmony_ci 114762306a36Sopenharmony_ci#define ISPHIST_REG_MASK (ISPHIST_REG_START_MASK | \ 114862306a36Sopenharmony_ci ISPHIST_REG_END_MASK) 114962306a36Sopenharmony_ci 115062306a36Sopenharmony_ci#define ISPHIST_ADDR_SHIFT 0 115162306a36Sopenharmony_ci#define ISPHIST_ADDR_MASK 0x3FF 115262306a36Sopenharmony_ci 115362306a36Sopenharmony_ci#define ISPHIST_DATA_SHIFT 0 115462306a36Sopenharmony_ci#define ISPHIST_DATA_MASK 0xFFFFF 115562306a36Sopenharmony_ci 115662306a36Sopenharmony_ci#define ISPHIST_RADD_SHIFT 0 115762306a36Sopenharmony_ci#define ISPHIST_RADD_MASK 0xFFFFFFFF 115862306a36Sopenharmony_ci 115962306a36Sopenharmony_ci#define ISPHIST_RADD_OFF_SHIFT 0 116062306a36Sopenharmony_ci#define ISPHIST_RADD_OFF_MASK 0xFFFF 116162306a36Sopenharmony_ci 116262306a36Sopenharmony_ci#define ISPHIST_HV_INFO_HSIZE_SHIFT 16 116362306a36Sopenharmony_ci#define ISPHIST_HV_INFO_HSIZE_MASK 0x3FFF0000 116462306a36Sopenharmony_ci#define ISPHIST_HV_INFO_VSIZE_SHIFT 0 116562306a36Sopenharmony_ci#define ISPHIST_HV_INFO_VSIZE_MASK 0x3FFF 116662306a36Sopenharmony_ci 116762306a36Sopenharmony_ci#define ISPHIST_HV_INFO_MASK 0x3FFF3FFF 116862306a36Sopenharmony_ci 116962306a36Sopenharmony_ci#define ISPCCDC_LSC_ENABLE BIT(0) 117062306a36Sopenharmony_ci#define ISPCCDC_LSC_BUSY BIT(7) 117162306a36Sopenharmony_ci#define ISPCCDC_LSC_GAIN_MODE_N_MASK 0x700 117262306a36Sopenharmony_ci#define ISPCCDC_LSC_GAIN_MODE_N_SHIFT 8 117362306a36Sopenharmony_ci#define ISPCCDC_LSC_GAIN_MODE_M_MASK 0x3800 117462306a36Sopenharmony_ci#define ISPCCDC_LSC_GAIN_MODE_M_SHIFT 12 117562306a36Sopenharmony_ci#define ISPCCDC_LSC_GAIN_FORMAT_MASK 0xE 117662306a36Sopenharmony_ci#define ISPCCDC_LSC_GAIN_FORMAT_SHIFT 1 117762306a36Sopenharmony_ci#define ISPCCDC_LSC_AFTER_REFORMATTER_MASK BIT(6) 117862306a36Sopenharmony_ci 117962306a36Sopenharmony_ci#define ISPCCDC_LSC_INITIAL_X_MASK 0x3F 118062306a36Sopenharmony_ci#define ISPCCDC_LSC_INITIAL_X_SHIFT 0 118162306a36Sopenharmony_ci#define ISPCCDC_LSC_INITIAL_Y_MASK 0x3F0000 118262306a36Sopenharmony_ci#define ISPCCDC_LSC_INITIAL_Y_SHIFT 16 118362306a36Sopenharmony_ci 118462306a36Sopenharmony_ci/* ----------------------------------------------------------------------------- 118562306a36Sopenharmony_ci * CSI2 receiver registers (ES2.0) 118662306a36Sopenharmony_ci */ 118762306a36Sopenharmony_ci 118862306a36Sopenharmony_ci#define ISPCSI2_REVISION (0x000) 118962306a36Sopenharmony_ci#define ISPCSI2_SYSCONFIG (0x010) 119062306a36Sopenharmony_ci#define ISPCSI2_SYSCONFIG_MSTANDBY_MODE_SHIFT 12 119162306a36Sopenharmony_ci#define ISPCSI2_SYSCONFIG_MSTANDBY_MODE_MASK \ 119262306a36Sopenharmony_ci (0x3 << ISPCSI2_SYSCONFIG_MSTANDBY_MODE_SHIFT) 119362306a36Sopenharmony_ci#define ISPCSI2_SYSCONFIG_MSTANDBY_MODE_FORCE \ 119462306a36Sopenharmony_ci (0x0 << ISPCSI2_SYSCONFIG_MSTANDBY_MODE_SHIFT) 119562306a36Sopenharmony_ci#define ISPCSI2_SYSCONFIG_MSTANDBY_MODE_NO \ 119662306a36Sopenharmony_ci (0x1 << ISPCSI2_SYSCONFIG_MSTANDBY_MODE_SHIFT) 119762306a36Sopenharmony_ci#define ISPCSI2_SYSCONFIG_MSTANDBY_MODE_SMART \ 119862306a36Sopenharmony_ci (0x2 << ISPCSI2_SYSCONFIG_MSTANDBY_MODE_SHIFT) 119962306a36Sopenharmony_ci#define ISPCSI2_SYSCONFIG_SOFT_RESET BIT(1) 120062306a36Sopenharmony_ci#define ISPCSI2_SYSCONFIG_AUTO_IDLE BIT(0) 120162306a36Sopenharmony_ci 120262306a36Sopenharmony_ci#define ISPCSI2_SYSSTATUS (0x014) 120362306a36Sopenharmony_ci#define ISPCSI2_SYSSTATUS_RESET_DONE BIT(0) 120462306a36Sopenharmony_ci 120562306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS (0x018) 120662306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS_OCP_ERR_IRQ BIT(14) 120762306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS_SHORT_PACKET_IRQ BIT(13) 120862306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS_ECC_CORRECTION_IRQ BIT(12) 120962306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS_ECC_NO_CORRECTION_IRQ BIT(11) 121062306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS_COMPLEXIO2_ERR_IRQ BIT(10) 121162306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS_COMPLEXIO1_ERR_IRQ BIT(9) 121262306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS_FIFO_OVF_IRQ BIT(8) 121362306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS_CONTEXT(n) BIT(n) 121462306a36Sopenharmony_ci 121562306a36Sopenharmony_ci#define ISPCSI2_IRQENABLE (0x01c) 121662306a36Sopenharmony_ci#define ISPCSI2_CTRL (0x040) 121762306a36Sopenharmony_ci#define ISPCSI2_CTRL_VP_CLK_EN BIT(15) 121862306a36Sopenharmony_ci#define ISPCSI2_CTRL_VP_ONLY_EN BIT(11) 121962306a36Sopenharmony_ci#define ISPCSI2_CTRL_VP_OUT_CTRL_SHIFT 8 122062306a36Sopenharmony_ci#define ISPCSI2_CTRL_VP_OUT_CTRL_MASK \ 122162306a36Sopenharmony_ci (3 << ISPCSI2_CTRL_VP_OUT_CTRL_SHIFT) 122262306a36Sopenharmony_ci#define ISPCSI2_CTRL_DBG_EN BIT(7) 122362306a36Sopenharmony_ci#define ISPCSI2_CTRL_BURST_SIZE_SHIFT 5 122462306a36Sopenharmony_ci#define ISPCSI2_CTRL_BURST_SIZE_MASK \ 122562306a36Sopenharmony_ci (3 << ISPCSI2_CTRL_BURST_SIZE_SHIFT) 122662306a36Sopenharmony_ci#define ISPCSI2_CTRL_FRAME BIT(3) 122762306a36Sopenharmony_ci#define ISPCSI2_CTRL_ECC_EN BIT(2) 122862306a36Sopenharmony_ci#define ISPCSI2_CTRL_SECURE BIT(1) 122962306a36Sopenharmony_ci#define ISPCSI2_CTRL_IF_EN BIT(0) 123062306a36Sopenharmony_ci 123162306a36Sopenharmony_ci#define ISPCSI2_DBG_H (0x044) 123262306a36Sopenharmony_ci#define ISPCSI2_GNQ (0x048) 123362306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG (0x050) 123462306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_RESET_CTRL BIT(30) 123562306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_RESET_DONE BIT(29) 123662306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_CMD_SHIFT 27 123762306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_CMD_MASK \ 123862306a36Sopenharmony_ci (0x3 << ISPCSI2_PHY_CFG_PWR_CMD_SHIFT) 123962306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_CMD_OFF \ 124062306a36Sopenharmony_ci (0x0 << ISPCSI2_PHY_CFG_PWR_CMD_SHIFT) 124162306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_CMD_ON \ 124262306a36Sopenharmony_ci (0x1 << ISPCSI2_PHY_CFG_PWR_CMD_SHIFT) 124362306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_CMD_ULPW \ 124462306a36Sopenharmony_ci (0x2 << ISPCSI2_PHY_CFG_PWR_CMD_SHIFT) 124562306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_STATUS_SHIFT 25 124662306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_STATUS_MASK \ 124762306a36Sopenharmony_ci (0x3 << ISPCSI2_PHY_CFG_PWR_STATUS_SHIFT) 124862306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_STATUS_OFF \ 124962306a36Sopenharmony_ci (0x0 << ISPCSI2_PHY_CFG_PWR_STATUS_SHIFT) 125062306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_STATUS_ON \ 125162306a36Sopenharmony_ci (0x1 << ISPCSI2_PHY_CFG_PWR_STATUS_SHIFT) 125262306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_STATUS_ULPW \ 125362306a36Sopenharmony_ci (0x2 << ISPCSI2_PHY_CFG_PWR_STATUS_SHIFT) 125462306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_AUTO BIT(24) 125562306a36Sopenharmony_ci 125662306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POL_SHIFT(n) (3 + ((n) * 4)) 125762306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POL_MASK(n) \ 125862306a36Sopenharmony_ci (0x1 << ISPCSI2_PHY_CFG_DATA_POL_SHIFT(n)) 125962306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POL_PN(n) \ 126062306a36Sopenharmony_ci (0x0 << ISPCSI2_PHY_CFG_DATA_POL_SHIFT(n)) 126162306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POL_NP(n) \ 126262306a36Sopenharmony_ci (0x1 << ISPCSI2_PHY_CFG_DATA_POL_SHIFT(n)) 126362306a36Sopenharmony_ci 126462306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POSITION_SHIFT(n) ((n) * 4) 126562306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POSITION_MASK(n) \ 126662306a36Sopenharmony_ci (0x7 << ISPCSI2_PHY_CFG_DATA_POSITION_SHIFT(n)) 126762306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POSITION_NC(n) \ 126862306a36Sopenharmony_ci (0x0 << ISPCSI2_PHY_CFG_DATA_POSITION_SHIFT(n)) 126962306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POSITION_1(n) \ 127062306a36Sopenharmony_ci (0x1 << ISPCSI2_PHY_CFG_DATA_POSITION_SHIFT(n)) 127162306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POSITION_2(n) \ 127262306a36Sopenharmony_ci (0x2 << ISPCSI2_PHY_CFG_DATA_POSITION_SHIFT(n)) 127362306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POSITION_3(n) \ 127462306a36Sopenharmony_ci (0x3 << ISPCSI2_PHY_CFG_DATA_POSITION_SHIFT(n)) 127562306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POSITION_4(n) \ 127662306a36Sopenharmony_ci (0x4 << ISPCSI2_PHY_CFG_DATA_POSITION_SHIFT(n)) 127762306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POSITION_5(n) \ 127862306a36Sopenharmony_ci (0x5 << ISPCSI2_PHY_CFG_DATA_POSITION_SHIFT(n)) 127962306a36Sopenharmony_ci 128062306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POL_SHIFT 3 128162306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POL_MASK \ 128262306a36Sopenharmony_ci (0x1 << ISPCSI2_PHY_CFG_CLOCK_POL_SHIFT) 128362306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POL_PN \ 128462306a36Sopenharmony_ci (0x0 << ISPCSI2_PHY_CFG_CLOCK_POL_SHIFT) 128562306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POL_NP \ 128662306a36Sopenharmony_ci (0x1 << ISPCSI2_PHY_CFG_CLOCK_POL_SHIFT) 128762306a36Sopenharmony_ci 128862306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POSITION_SHIFT 0 128962306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POSITION_MASK \ 129062306a36Sopenharmony_ci (0x7 << ISPCSI2_PHY_CFG_CLOCK_POSITION_SHIFT) 129162306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POSITION_1 \ 129262306a36Sopenharmony_ci (0x1 << ISPCSI2_PHY_CFG_CLOCK_POSITION_SHIFT) 129362306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POSITION_2 \ 129462306a36Sopenharmony_ci (0x2 << ISPCSI2_PHY_CFG_CLOCK_POSITION_SHIFT) 129562306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POSITION_3 \ 129662306a36Sopenharmony_ci (0x3 << ISPCSI2_PHY_CFG_CLOCK_POSITION_SHIFT) 129762306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POSITION_4 \ 129862306a36Sopenharmony_ci (0x4 << ISPCSI2_PHY_CFG_CLOCK_POSITION_SHIFT) 129962306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POSITION_5 \ 130062306a36Sopenharmony_ci (0x5 << ISPCSI2_PHY_CFG_CLOCK_POSITION_SHIFT) 130162306a36Sopenharmony_ci 130262306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS (0x054) 130362306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_STATEALLULPMEXIT BIT(26) 130462306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_STATEALLULPMENTER BIT(25) 130562306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_STATEULPM5 BIT(24) 130662306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_STATEULPM4 BIT(23) 130762306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_STATEULPM3 BIT(22) 130862306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_STATEULPM2 BIT(21) 130962306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_STATEULPM1 BIT(20) 131062306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRCONTROL5 BIT(19) 131162306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRCONTROL4 BIT(18) 131262306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRCONTROL3 BIT(17) 131362306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRCONTROL2 BIT(16) 131462306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRCONTROL1 BIT(15) 131562306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRESC5 BIT(14) 131662306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRESC4 BIT(13) 131762306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRESC3 BIT(12) 131862306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRESC2 BIT(11) 131962306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRESC1 BIT(10) 132062306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTSYNCHS5 BIT(9) 132162306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTSYNCHS4 BIT(8) 132262306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTSYNCHS3 BIT(7) 132362306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTSYNCHS2 BIT(6) 132462306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTSYNCHS1 BIT(5) 132562306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTHS5 BIT(4) 132662306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTHS4 BIT(3) 132762306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTHS3 BIT(2) 132862306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTHS2 BIT(1) 132962306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTHS1 BIT(0) 133062306a36Sopenharmony_ci 133162306a36Sopenharmony_ci#define ISPCSI2_SHORT_PACKET (0x05c) 133262306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE (0x060) 133362306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_STATEALLULPMEXIT BIT(26) 133462306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_STATEALLULPMENTER BIT(25) 133562306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_STATEULPM5 BIT(24) 133662306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_STATEULPM4 BIT(23) 133762306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_STATEULPM3 BIT(22) 133862306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_STATEULPM2 BIT(21) 133962306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_STATEULPM1 BIT(20) 134062306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRCONTROL5 BIT(19) 134162306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRCONTROL4 BIT(18) 134262306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRCONTROL3 BIT(17) 134362306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRCONTROL2 BIT(16) 134462306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRCONTROL1 BIT(15) 134562306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRESC5 BIT(14) 134662306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRESC4 BIT(13) 134762306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRESC3 BIT(12) 134862306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRESC2 BIT(11) 134962306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRESC1 BIT(10) 135062306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTSYNCHS5 BIT(9) 135162306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTSYNCHS4 BIT(8) 135262306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTSYNCHS3 BIT(7) 135362306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTSYNCHS2 BIT(6) 135462306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTSYNCHS1 BIT(5) 135562306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTHS5 BIT(4) 135662306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTHS4 BIT(3) 135762306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTHS3 BIT(2) 135862306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTHS2 BIT(1) 135962306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTHS1 BIT(0) 136062306a36Sopenharmony_ci 136162306a36Sopenharmony_ci#define ISPCSI2_DBG_P (0x068) 136262306a36Sopenharmony_ci#define ISPCSI2_TIMING (0x06c) 136362306a36Sopenharmony_ci#define ISPCSI2_TIMING_FORCE_RX_MODE_IO(n) (1 << ((16 * ((n) - 1)) + 15)) 136462306a36Sopenharmony_ci#define ISPCSI2_TIMING_STOP_STATE_X16_IO(n) (1 << ((16 * ((n) - 1)) + 14)) 136562306a36Sopenharmony_ci#define ISPCSI2_TIMING_STOP_STATE_X4_IO(n) (1 << ((16 * ((n) - 1)) + 13)) 136662306a36Sopenharmony_ci#define ISPCSI2_TIMING_STOP_STATE_COUNTER_IO_SHIFT(n) (16 * ((n) - 1)) 136762306a36Sopenharmony_ci#define ISPCSI2_TIMING_STOP_STATE_COUNTER_IO_MASK(n) \ 136862306a36Sopenharmony_ci (0x1fff << ISPCSI2_TIMING_STOP_STATE_COUNTER_IO_SHIFT(n)) 136962306a36Sopenharmony_ci 137062306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1(n) ((0x070) + 0x20 * (n)) 137162306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1_COUNT_SHIFT 8 137262306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1_COUNT_MASK \ 137362306a36Sopenharmony_ci (0xff << ISPCSI2_CTX_CTRL1_COUNT_SHIFT) 137462306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1_EOF_EN BIT(7) 137562306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1_EOL_EN BIT(6) 137662306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1_CS_EN BIT(5) 137762306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1_COUNT_UNLOCK BIT(4) 137862306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1_PING_PONG BIT(3) 137962306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1_CTX_EN BIT(0) 138062306a36Sopenharmony_ci 138162306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2(n) ((0x074) + 0x20 * (n)) 138262306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_USER_DEF_MAP_SHIFT 13 138362306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_USER_DEF_MAP_MASK \ 138462306a36Sopenharmony_ci (0x3 << ISPCSI2_CTX_CTRL2_USER_DEF_MAP_SHIFT) 138562306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_VIRTUAL_ID_SHIFT 11 138662306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_VIRTUAL_ID_MASK \ 138762306a36Sopenharmony_ci (0x3 << ISPCSI2_CTX_CTRL2_VIRTUAL_ID_SHIFT) 138862306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_DPCM_PRED BIT(10) 138962306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_FORMAT_SHIFT 0 139062306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_FORMAT_MASK \ 139162306a36Sopenharmony_ci (0x3ff << ISPCSI2_CTX_CTRL2_FORMAT_SHIFT) 139262306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_FRAME_SHIFT 16 139362306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_FRAME_MASK \ 139462306a36Sopenharmony_ci (0xffff << ISPCSI2_CTX_CTRL2_FRAME_SHIFT) 139562306a36Sopenharmony_ci 139662306a36Sopenharmony_ci#define ISPCSI2_CTX_DAT_OFST(n) ((0x078) + 0x20 * (n)) 139762306a36Sopenharmony_ci#define ISPCSI2_CTX_DAT_OFST_OFST_SHIFT 0 139862306a36Sopenharmony_ci#define ISPCSI2_CTX_DAT_OFST_OFST_MASK \ 139962306a36Sopenharmony_ci (0x1ffe0 << ISPCSI2_CTX_DAT_OFST_OFST_SHIFT) 140062306a36Sopenharmony_ci 140162306a36Sopenharmony_ci#define ISPCSI2_CTX_DAT_PING_ADDR(n) ((0x07c) + 0x20 * (n)) 140262306a36Sopenharmony_ci#define ISPCSI2_CTX_DAT_PONG_ADDR(n) ((0x080) + 0x20 * (n)) 140362306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE(n) ((0x084) + 0x20 * (n)) 140462306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE_ECC_CORRECTION_IRQ BIT(8) 140562306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE_LINE_NUMBER_IRQ BIT(7) 140662306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE_FRAME_NUMBER_IRQ BIT(6) 140762306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE_CS_IRQ BIT(5) 140862306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE_LE_IRQ BIT(3) 140962306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE_LS_IRQ BIT(2) 141062306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE_FE_IRQ BIT(1) 141162306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE_FS_IRQ BIT(0) 141262306a36Sopenharmony_ci 141362306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS(n) ((0x088) + 0x20 * (n)) 141462306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS_ECC_CORRECTION_IRQ BIT(8) 141562306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS_LINE_NUMBER_IRQ BIT(7) 141662306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS_FRAME_NUMBER_IRQ BIT(6) 141762306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS_CS_IRQ BIT(5) 141862306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS_LE_IRQ BIT(3) 141962306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS_LS_IRQ BIT(2) 142062306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS_FE_IRQ BIT(1) 142162306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS_FS_IRQ BIT(0) 142262306a36Sopenharmony_ci 142362306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL3(n) ((0x08c) + 0x20 * (n)) 142462306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL3_ALPHA_SHIFT 5 142562306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL3_ALPHA_MASK \ 142662306a36Sopenharmony_ci (0x3fff << ISPCSI2_CTX_CTRL3_ALPHA_SHIFT) 142762306a36Sopenharmony_ci 142862306a36Sopenharmony_ci/* This instance is for OMAP3630 only */ 142962306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEH(n) (0x000 + 0x8 * (n)) 143062306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEH_HCOUNT_SHIFT 16 143162306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEH_HCOUNT_MASK \ 143262306a36Sopenharmony_ci (0x1fff << ISPCSI2_CTX_TRANSCODEH_HCOUNT_SHIFT) 143362306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEH_HSKIP_SHIFT 0 143462306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEH_HSKIP_MASK \ 143562306a36Sopenharmony_ci (0x1fff << ISPCSI2_CTX_TRANSCODEH_HCOUNT_SHIFT) 143662306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEV(n) (0x004 + 0x8 * (n)) 143762306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEV_VCOUNT_SHIFT 16 143862306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEV_VCOUNT_MASK \ 143962306a36Sopenharmony_ci (0x1fff << ISPCSI2_CTX_TRANSCODEV_VCOUNT_SHIFT) 144062306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEV_VSKIP_SHIFT 0 144162306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEV_VSKIP_MASK \ 144262306a36Sopenharmony_ci (0x1fff << ISPCSI2_CTX_TRANSCODEV_VCOUNT_SHIFT) 144362306a36Sopenharmony_ci 144462306a36Sopenharmony_ci/* ----------------------------------------------------------------------------- 144562306a36Sopenharmony_ci * CSI PHY registers 144662306a36Sopenharmony_ci */ 144762306a36Sopenharmony_ci 144862306a36Sopenharmony_ci#define ISPCSIPHY_REG0 (0x000) 144962306a36Sopenharmony_ci#define ISPCSIPHY_REG0_THS_TERM_SHIFT 8 145062306a36Sopenharmony_ci#define ISPCSIPHY_REG0_THS_TERM_MASK \ 145162306a36Sopenharmony_ci (0xff << ISPCSIPHY_REG0_THS_TERM_SHIFT) 145262306a36Sopenharmony_ci#define ISPCSIPHY_REG0_THS_SETTLE_SHIFT 0 145362306a36Sopenharmony_ci#define ISPCSIPHY_REG0_THS_SETTLE_MASK \ 145462306a36Sopenharmony_ci (0xff << ISPCSIPHY_REG0_THS_SETTLE_SHIFT) 145562306a36Sopenharmony_ci 145662306a36Sopenharmony_ci#define ISPCSIPHY_REG1 (0x004) 145762306a36Sopenharmony_ci#define ISPCSIPHY_REG1_RESET_DONE_CTRLCLK BIT(29) 145862306a36Sopenharmony_ci/* This field is for OMAP3630 only */ 145962306a36Sopenharmony_ci#define ISPCSIPHY_REG1_CLOCK_MISS_DETECTOR_STATUS BIT(25) 146062306a36Sopenharmony_ci#define ISPCSIPHY_REG1_TCLK_TERM_SHIFT 18 146162306a36Sopenharmony_ci#define ISPCSIPHY_REG1_TCLK_TERM_MASK \ 146262306a36Sopenharmony_ci (0x7f << ISPCSIPHY_REG1_TCLK_TERM_SHIFT) 146362306a36Sopenharmony_ci#define ISPCSIPHY_REG1_DPHY_HS_SYNC_PATTERN_SHIFT 10 146462306a36Sopenharmony_ci#define ISPCSIPHY_REG1_DPHY_HS_SYNC_PATTERN_MASK \ 146562306a36Sopenharmony_ci (0xff << ISPCSIPHY_REG1_DPHY_HS_SYNC_PATTERN) 146662306a36Sopenharmony_ci/* This field is for OMAP3430 only */ 146762306a36Sopenharmony_ci#define ISPCSIPHY_REG1_TCLK_MISS_SHIFT 8 146862306a36Sopenharmony_ci#define ISPCSIPHY_REG1_TCLK_MISS_MASK \ 146962306a36Sopenharmony_ci (0x3 << ISPCSIPHY_REG1_TCLK_MISS_SHIFT) 147062306a36Sopenharmony_ci/* This field is for OMAP3630 only */ 147162306a36Sopenharmony_ci#define ISPCSIPHY_REG1_CTRLCLK_DIV_FACTOR_SHIFT 8 147262306a36Sopenharmony_ci#define ISPCSIPHY_REG1_CTRLCLK_DIV_FACTOR_MASK \ 147362306a36Sopenharmony_ci (0x3 << ISPCSIPHY_REG1_CTRLCLK_DIV_FACTOR_SHIFT) 147462306a36Sopenharmony_ci#define ISPCSIPHY_REG1_TCLK_SETTLE_SHIFT 0 147562306a36Sopenharmony_ci#define ISPCSIPHY_REG1_TCLK_SETTLE_MASK \ 147662306a36Sopenharmony_ci (0xff << ISPCSIPHY_REG1_TCLK_SETTLE_SHIFT) 147762306a36Sopenharmony_ci 147862306a36Sopenharmony_ci/* This register is for OMAP3630 only */ 147962306a36Sopenharmony_ci#define ISPCSIPHY_REG2 (0x008) 148062306a36Sopenharmony_ci#define ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC0_SHIFT 30 148162306a36Sopenharmony_ci#define ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC0_MASK \ 148262306a36Sopenharmony_ci (0x3 << ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC0_SHIFT) 148362306a36Sopenharmony_ci#define ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC1_SHIFT 28 148462306a36Sopenharmony_ci#define ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC1_MASK \ 148562306a36Sopenharmony_ci (0x3 << ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC1_SHIFT) 148662306a36Sopenharmony_ci#define ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC2_SHIFT 26 148762306a36Sopenharmony_ci#define ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC2_MASK \ 148862306a36Sopenharmony_ci (0x3 << ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC2_SHIFT) 148962306a36Sopenharmony_ci#define ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC3_SHIFT 24 149062306a36Sopenharmony_ci#define ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC3_MASK \ 149162306a36Sopenharmony_ci (0x3 << ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC3_SHIFT) 149262306a36Sopenharmony_ci#define ISPCSIPHY_REG2_CCP2_SYNC_PATTERN_SHIFT 0 149362306a36Sopenharmony_ci#define ISPCSIPHY_REG2_CCP2_SYNC_PATTERN_MASK \ 149462306a36Sopenharmony_ci (0x7fffff << ISPCSIPHY_REG2_CCP2_SYNC_PATTERN_SHIFT) 149562306a36Sopenharmony_ci 149662306a36Sopenharmony_ci/* ----------------------------------------------------------------------------- 149762306a36Sopenharmony_ci * CONTROL registers for CSI-2 phy routing 149862306a36Sopenharmony_ci */ 149962306a36Sopenharmony_ci 150062306a36Sopenharmony_ci/* OMAP343X_CONTROL_CSIRXFE */ 150162306a36Sopenharmony_ci#define OMAP343X_CONTROL_CSIRXFE_CSIB_INV BIT(7) 150262306a36Sopenharmony_ci#define OMAP343X_CONTROL_CSIRXFE_RESENABLE BIT(8) 150362306a36Sopenharmony_ci#define OMAP343X_CONTROL_CSIRXFE_SELFORM BIT(10) 150462306a36Sopenharmony_ci#define OMAP343X_CONTROL_CSIRXFE_PWRDNZ BIT(12) 150562306a36Sopenharmony_ci#define OMAP343X_CONTROL_CSIRXFE_RESET BIT(13) 150662306a36Sopenharmony_ci 150762306a36Sopenharmony_ci/* OMAP3630_CONTROL_CAMERA_PHY_CTRL */ 150862306a36Sopenharmony_ci#define OMAP3630_CONTROL_CAMERA_PHY_CTRL_CAMMODE_PHY1_SHIFT 2 150962306a36Sopenharmony_ci#define OMAP3630_CONTROL_CAMERA_PHY_CTRL_CAMMODE_PHY2_SHIFT 0 151062306a36Sopenharmony_ci#define OMAP3630_CONTROL_CAMERA_PHY_CTRL_CAMMODE_DPHY 0x0 151162306a36Sopenharmony_ci#define OMAP3630_CONTROL_CAMERA_PHY_CTRL_CAMMODE_CCP2_DATA_STROBE 0x1 151262306a36Sopenharmony_ci#define OMAP3630_CONTROL_CAMERA_PHY_CTRL_CAMMODE_CCP2_DATA_CLOCK 0x2 151362306a36Sopenharmony_ci#define OMAP3630_CONTROL_CAMERA_PHY_CTRL_CAMMODE_GPI 0x3 151462306a36Sopenharmony_ci#define OMAP3630_CONTROL_CAMERA_PHY_CTRL_CAMMODE_MASK 0x3 151562306a36Sopenharmony_ci/* CCP2B: set to receive data from PHY2 instead of PHY1 */ 151662306a36Sopenharmony_ci#define OMAP3630_CONTROL_CAMERA_PHY_CTRL_CSI1_RX_SEL_PHY2 BIT(4) 151762306a36Sopenharmony_ci 151862306a36Sopenharmony_ci#endif /* OMAP3_ISP_REG_H */ 1519