/** @file Register names for Camera block Conventions: - Prefixes: Definitions beginning with "R_" are registers Definitions beginning with "B_" are bits within registers Definitions beginning with "V_" are meaningful values within the bits Definitions beginning with "S_" are register sizes Definitions beginning with "N_" are the bit position - In general, PCH registers are denoted by "_PCH_" in register names - Registers / bits that are different between PCH generations are denoted by "_PCH_[generation_name]_" in register/bit names. - Registers / bits that are specific to PCH-H denoted by "_H_" in register/bit names. Registers / bits that are specific to PCH-LP denoted by "_LP_" in register/bit names. e.g., "_PCH_H_", "_PCH_LP_" Registers / bits names without _H_ or _LP_ apply for both H and LP. - Registers / bits that are different between SKUs are denoted by "_[SKU_name]" at the end of the register/bit names - Registers / bits of new devices introduced in a PCH generation will be just named as "_PCH_" without [generation_name] inserted. Copyright (c) 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _PCH_REGS_CAM_H_ #define _PCH_REGS_CAM_H_ // // CIO2 Registers (D20:F3) // #define PCI_DEVICE_NUMBER_PCH_CIO2 20 #define PCI_FUNCTION_NUMBER_PCH_CIO2 3 #define V_PCH_CIO2_VENDOR_ID V_PCH_INTEL_VENDOR_ID #define V_PCH_LP_CIO2_DEVICE_ID 0x9D32 // // CIO2 PCI Configuration space definitions // #define R_PCH_CIO2_CIOLBA 0x10 // Camera IO Controller Lower Base Address #define R_PCH_CIO2_CIOUBA 0x14 // Camera IO Controller Upper Base Address #define B_PCH_CIO2_CFG_PMCSR_NSR BIT3 // No Software Reset #define R_PCH_CIO2_CFG_MID_MMC 0x90 // MSI Capability ID #define R_PCH_CIO2_CFG_MMLA 0x94 // MSI Message Lower Address #define R_PCH_CIO2_CFG_MMUA 0x98 // MSI Message Lower Address #define R_PCH_CIO2_CFG_MMD 0x9C // MSI Message Data #define R_PCH_CIO2_AFID 0xA0 // Advanced Features Capability Identifiers #define R_PCH_CIO2_AF_CMD_STS 0xA4 // Adavanced Features Command and Staus Register #define R_PCH_CIO2_CFG_PID_PC 0xD0 // Power Management Capability Identifiers #define R_PCH_CIO2_CFG_PMCSR 0xD4 // Power Management Control & Status #define V_PCH_CIO2_CFG_PMCSR_PS_D3HOT (BIT0 | BIT1) // // CAM_MMIO_CSI2 // // // CAM_MMIO_PRI // Camera Pipe Host Controller's MMIO registers in Primary clock domain // #define R_PCH_CAM_MMIO_PRI_CIO2_CGC 0x1400 ///< CIO2 Clock Gating Control #define V_PCH_CAM_MMIO_PRI_CIO2_CGC_CLK_GATING_EN (0x00003D7E) #define V_PCH_CAM_MMIO_PRI_CIO2_CGC_CLK_GATING_DIS (0x05300000) #define R_PCH_CAM_MMIO_PRI_CIO2_D0I3C 0x1408 ///< CIO2 D0i3 Control Register #define B_PCH_CAM_MMIO_PRI_CIO2_D0I3C_I3 BIT2 ///< I3 (D0i3). SW sets this bit to 1 to move the IP into the D0i3 state. Writing this bit to 0 will return the IP to the fully active D0 state (D0i0) #define R_PCH_CAM_MMIO_PRI_PCE 0x1430 ///< PCE Power Control Enable Register #define B_PCH_CAM_MMIO_PRI_PCE_D3HE BIT2 ///< D3HE: D3-Hot Enable #define B_PCH_CAM_MMIO_PRI_PCE_I3E BIT1 ///< I3E: I3 Enable #define R_PCH_CAM_MMIO_PRI_CIO2_GPR0 0x1434 ///< CIO2 General Purpose register 0 #define R_PCH_CAM_MMIO_PRI_CIO2_GPR1 0x1438 ///< CIO2 General Purpose register 1 // // CAM_PVT CHC space defininitions // Private registers description for Camera Pipe Host Controller IP // MSG IOSF-SB Port 0xA1 (PID_CAM_CHC) // #define R_PCH_PCR_CAM_CHC_PVT_FUSVAL 0x00 ///< Fuse Value #define R_PCH_PCR_CAM_CHC_PVT_ECCLOG 0x04 ///< SRAM Error Count Log #define R_PCH_PCR_CAM_CHC_PVT_DBGCTL 0x08 ///< Debug Control #define R_PCH_PCR_CAM_CHC_PVT_FNCFG 0x0C ///< Lock bits #define B_PCH_PCR_CAM_CHC_PVT_FNCFG_MEM_LOCK BIT8 ///< lock all lockable field in MEM space #define B_PCH_PCR_CAM_CHC_PVT_FNCFG_BCLD BIT0 ///< lock all lockable fields in CFG space #define R_PCH_PCR_CAM_CHC_HDEVC 0x10 ///< Hidden Device register #define R_PCH_PCR_CAM_CHC_PVT_FUSE_DBG 0x14 ///< Hidden Device register // // fls space definitions // CSI2 host controller's FLIS registers // MSG IOSF-SB Port 0xAA (PID_CAM_FLS) // #define R_PCH_PCR_CAM_FLIS_CSI0_RXCNTRL 0x00 #define R_PCH_PCR_CAM_FLIS_CSI0_RCCRCOMP 0x01 #define R_PCH_PCR_CAM_FLIS_CSI0_BSCOMPARE 0x02 #define R_PCH_PCR_CAM_FLIS_CSI1_RXCNTRL 0x03 #define R_PCH_PCR_CAM_FLIS_CSI1_RCCRCOMP 0x04 #define R_PCH_PCR_CAM_FLIS_CSI0_INTLPBK_CFG1 0x05 #define R_PCH_PCR_CAM_FLIS_CSI1_BSCOMPARE 0x06 #define R_PCH_PCR_CAM_FLIS_CSI0_INTLPBK_CFG2 0x07 #define R_PCH_PCR_CAM_FLIS_CSI0_INTLPBK_CFG3 0x08 #define R_PCH_PCR_CAM_FLIS_CSI2_INTLPBK_CFG2 0x09 #define R_PCH_PCR_CAM_FLIS_CSI2_RXCNTRL 0x0A #define R_PCH_PCR_CAM_FLIS_CSI2_RCCRCOMP 0x0B #define R_PCH_PCR_CAM_FLIS_CSI2_BSCOMPARE 0x0C #define R_PCH_PCR_CAM_FLIS_CSI0_INTLPBK_CMP_STAT 0x0D #define R_PCH_PCR_CAM_FLIS_CSI0_INTLPBK_ERR_REG 0x0E #define R_PCH_PCR_CAM_FLIS_CSI_CLKTRIM 0x0F #define R_PCH_PCR_CAM_FLIS_CSI3_RXCNTRL 0x10 #define R_PCH_PCR_CAM_FLIS_CSI3_RCCRCOMP 0x11 #define R_PCH_PCR_CAM_FLIS_CSI3_BSCOMPARE 0x12 #define R_PCH_PCR_CAM_FLIS_CSI_CFG 0x13 #define B_PCH_PCR_CAM_FLIS_CSI_CFG_ACIO_LB_EN BIT26 #define R_PCH_PCR_CAM_FLIS_CSI1_INTLPBK_CFG1 0x14 #define R_PCH_PCR_CAM_FLIS_CSI1_INTLPBK_CFG2 0x15 #define R_PCH_PCR_CAM_FLIS_CSI1_INTLPBK_CFG3 0x16 #define R_PCH_PCR_CAM_FLIS_CSI2_INTLPBK_CFG1 0x17 #define R_PCH_PCR_CAM_FLIS_CSI2_INTLPBK_CFG3 0x18 #define R_PCH_PCR_CAM_FLIS_CSI3_INTLPBK_CFG1 0x19 #define R_PCH_PCR_CAM_FLIS_CSI3_INTLPBK_CFG3 0x1A #define R_PCH_PCR_CAM_FLIS_CSI1_INTLPBK_ERR_REG 0x1B #define R_PCH_PCR_CAM_FLIS_CSI1_INTLPBK_CMP_STAT 0x1C #define R_PCH_PCR_CAM_FLIS_CSI2_INTLPBK_ERR_REG 0x1D #define R_PCH_PCR_CAM_FLIS_CSI2_INTLPBK_CMP_STAT 0x1E #define R_PCH_PCR_CAM_FLIS_CSI3_INTLPBK_ERR_REG 0x1F #define R_PCH_PCR_CAM_FLIS_CSI3_INTLPBK_CMP_STAT 0x20 #define R_PCH_PCR_CAM_FLIS_CSI_RCOMPSTAT_REG 0x21 #define R_PCH_PCR_CAM_FLIS_CSI_DLLCTL_REG 0x22 #define R_PCH_PCR_CAM_FLIS_CSI_DATAEYE_REG 0x23 #define R_PCH_PCR_CAM_FLIS_CSI_DATATRIM 0x24 #define R_PCH_PCR_CAM_FLIS_CSI_CTLE 0x25 #define R_PCH_PCR_CAM_FLIS_CSI0_DFT_CFG 0x26 #define R_PCH_PCR_CAM_FLIS_CSI1_DFT_CFG 0x27 #define R_PCH_PCR_CAM_FLIS_CSI2_DFT_CFG 0x28 #define R_PCH_PCR_CAM_FLIS_CSI3_DFT_CFG 0x29 #define R_PCH_PCR_CAM_FLIS_CSI_AFE_HS_CONTROL 0x2A #define R_PCH_PCR_CAM_FLIS_CSI_RCOMP_STATUS 0x2B #define R_PCH_PCR_CAM_FLIS_CSI_RCOMP_CONTROL 0x2C #define R_PCH_PCR_CAM_FLIS_CSI_DATAEYE1_REG 0x2D #define R_PCH_PCR_CAM_FLIS_CSI_ALL01 0x2E #define R_PCH_PCR_CAM_FLIS_CSI_DLLCTL1_REG 0x2F #define R_PCH_PCR_CAM_FLIS_CSI_DATATRIM1 0x30 #endif