arch/arm/mach-imx/crmregs-imx3.h

Source file repositories/reference/linux-study-clean/arch/arm/mach-imx/crmregs-imx3.h

File Facts

System
Linux kernel
Corpus path
arch/arm/mach-imx/crmregs-imx3.h
Extension
.h
Size
10597 bytes
Lines
249
Domain
Architecture Layer
Bucket
arch/arm
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef __ARCH_ARM_MACH_MX3_CRM_REGS_H__
#define __ARCH_ARM_MACH_MX3_CRM_REGS_H__

#define CKIH_CLK_FREQ           26000000
#define CKIH_CLK_FREQ_27MHZ     27000000
#define CKIL_CLK_FREQ           32768

extern void __iomem *mx3_ccm_base;

/* Register addresses */
#define MXC_CCM_CCMR		0x00
#define MXC_CCM_PDR0		0x04
#define MXC_CCM_PDR1		0x08
#define MX35_CCM_PDR2		0x0C
#define MXC_CCM_RCSR		0x0C
#define MX35_CCM_PDR3		0x10
#define MXC_CCM_MPCTL		0x10
#define MX35_CCM_PDR4		0x14
#define MXC_CCM_UPCTL		0x14
#define MX35_CCM_RCSR		0x18
#define MXC_CCM_SRPCTL		0x18
#define MX35_CCM_MPCTL		0x1C
#define MXC_CCM_COSR		0x1C
#define MX35_CCM_PPCTL		0x20
#define MXC_CCM_CGR0		0x20
#define MX35_CCM_ACMR		0x24
#define MXC_CCM_CGR1		0x24
#define MX35_CCM_COSR		0x28
#define MXC_CCM_CGR2		0x28
#define MX35_CCM_CGR0		0x2C
#define MXC_CCM_WIMR		0x2C
#define MX35_CCM_CGR1		0x30
#define MXC_CCM_LDC		0x30
#define MX35_CCM_CGR2		0x34
#define MXC_CCM_DCVR0		0x34
#define MX35_CCM_CGR3		0x38
#define MXC_CCM_DCVR1		0x38
#define MXC_CCM_DCVR2		0x3C
#define MXC_CCM_DCVR3		0x40
#define MXC_CCM_LTR0		0x44
#define MXC_CCM_LTR1		0x48
#define MXC_CCM_LTR2		0x4C
#define MXC_CCM_LTR3		0x50
#define MXC_CCM_LTBR0		0x54
#define MXC_CCM_LTBR1		0x58
#define MXC_CCM_PMCR0		0x5C
#define MXC_CCM_PMCR1		0x60
#define MXC_CCM_PDR2		0x64

/* Register bit definitions */
#define MXC_CCM_CCMR_WBEN                       (1 << 27)
#define MXC_CCM_CCMR_CSCS                       (1 << 25)
#define MXC_CCM_CCMR_PERCS                      (1 << 24)
#define MXC_CCM_CCMR_SSI1S_OFFSET               18
#define MXC_CCM_CCMR_SSI1S_MASK                 (0x3 << 18)
#define MXC_CCM_CCMR_SSI2S_OFFSET               21
#define MXC_CCM_CCMR_SSI2S_MASK                 (0x3 << 21)
#define MXC_CCM_CCMR_LPM_OFFSET                 14
#define MXC_CCM_CCMR_LPM_MASK                   (0x3 << 14)
#define MXC_CCM_CCMR_LPM_WAIT_MX35		(0x1 << 14)
#define MXC_CCM_CCMR_FIRS_OFFSET                11
#define MXC_CCM_CCMR_FIRS_MASK                  (0x3 << 11)
#define MXC_CCM_CCMR_UPE                        (1 << 9)
#define MXC_CCM_CCMR_SPE                        (1 << 8)
#define MXC_CCM_CCMR_MDS                        (1 << 7)
#define MXC_CCM_CCMR_SBYCS                      (1 << 4)
#define MXC_CCM_CCMR_MPE                        (1 << 3)
#define MXC_CCM_CCMR_PRCS_OFFSET                1
#define MXC_CCM_CCMR_PRCS_MASK                  (0x3 << 1)

#define MXC_CCM_PDR0_CSI_PODF_OFFSET            26
#define MXC_CCM_PDR0_CSI_PODF_MASK              (0x3F << 26)
#define MXC_CCM_PDR0_CSI_PRDF_OFFSET            23
#define MXC_CCM_PDR0_CSI_PRDF_MASK              (0x7 << 23)
#define MXC_CCM_PDR0_PER_PODF_OFFSET            16
#define MXC_CCM_PDR0_PER_PODF_MASK              (0x1F << 16)
#define MXC_CCM_PDR0_HSP_PODF_OFFSET            11
#define MXC_CCM_PDR0_HSP_PODF_MASK              (0x7 << 11)
#define MXC_CCM_PDR0_NFC_PODF_OFFSET            8
#define MXC_CCM_PDR0_NFC_PODF_MASK              (0x7 << 8)
#define MXC_CCM_PDR0_IPG_PODF_OFFSET            6
#define MXC_CCM_PDR0_IPG_PODF_MASK              (0x3 << 6)
#define MXC_CCM_PDR0_MAX_PODF_OFFSET            3
#define MXC_CCM_PDR0_MAX_PODF_MASK              (0x7 << 3)
#define MXC_CCM_PDR0_MCU_PODF_OFFSET            0
#define MXC_CCM_PDR0_MCU_PODF_MASK              0x7

#define MXC_CCM_PDR1_USB_PRDF_OFFSET            30
#define MXC_CCM_PDR1_USB_PRDF_MASK              (0x3 << 30)
#define MXC_CCM_PDR1_USB_PODF_OFFSET            27

Annotation

Implementation Notes