| /* |
| * arch/arm/mach-spear3xx/include/mach/misc_regs.h |
| * |
| * Miscellaneous registers definitions for SPEAr3xx machine family |
| * |
| * Copyright (C) 2009 ST Microelectronics |
| * Viresh Kumar<viresh.kumar@st.com> |
| * |
| * This file is licensed under the terms of the GNU General Public |
| * License version 2. This program is licensed "as is" without any |
| * warranty of any kind, whether express or implied. |
| */ |
| |
| #ifndef __MACH_MISC_REGS_H |
| #define __MACH_MISC_REGS_H |
| |
| #include <mach/spear.h> |
| |
| #define MISC_BASE VA_SPEAR3XX_ICM3_MISC_REG_BASE |
| |
| #define SOC_CFG_CTR ((unsigned int *)(MISC_BASE + 0x000)) |
| #define DIAG_CFG_CTR ((unsigned int *)(MISC_BASE + 0x004)) |
| #define PLL1_CTR ((unsigned int *)(MISC_BASE + 0x008)) |
| #define PLL1_FRQ ((unsigned int *)(MISC_BASE + 0x00C)) |
| #define PLL1_MOD ((unsigned int *)(MISC_BASE + 0x010)) |
| #define PLL2_CTR ((unsigned int *)(MISC_BASE + 0x014)) |
| /* PLL_CTR register masks */ |
| #define PLL_ENABLE 2 |
| #define PLL_MODE_SHIFT 4 |
| #define PLL_MODE_MASK 0x3 |
| #define PLL_MODE_NORMAL 0 |
| #define PLL_MODE_FRACTION 1 |
| #define PLL_MODE_DITH_DSB 2 |
| #define PLL_MODE_DITH_SSB 3 |
| |
| #define PLL2_FRQ ((unsigned int *)(MISC_BASE + 0x018)) |
| /* PLL FRQ register masks */ |
| #define PLL_DIV_N_SHIFT 0 |
| #define PLL_DIV_N_MASK 0xFF |
| #define PLL_DIV_P_SHIFT 8 |
| #define PLL_DIV_P_MASK 0x7 |
| #define PLL_NORM_FDBK_M_SHIFT 24 |
| #define PLL_NORM_FDBK_M_MASK 0xFF |
| #define PLL_DITH_FDBK_M_SHIFT 16 |
| #define PLL_DITH_FDBK_M_MASK 0xFFFF |
| |
| #define PLL2_MOD ((unsigned int *)(MISC_BASE + 0x01C)) |
| #define PLL_CLK_CFG ((unsigned int *)(MISC_BASE + 0x020)) |
| #define CORE_CLK_CFG ((unsigned int *)(MISC_BASE + 0x024)) |
| /* CORE CLK CFG register masks */ |
| #define PLL_HCLK_RATIO_SHIFT 10 |
| #define PLL_HCLK_RATIO_MASK 0x3 |
| #define HCLK_PCLK_RATIO_SHIFT 8 |
| #define HCLK_PCLK_RATIO_MASK 0x3 |
| |
| #define PERIP_CLK_CFG ((unsigned int *)(MISC_BASE + 0x028)) |
| /* PERIP_CLK_CFG register masks */ |
| #define UART_CLK_SHIFT 4 |
| #define UART_CLK_MASK 0x1 |
| #define FIRDA_CLK_SHIFT 5 |
| #define FIRDA_CLK_MASK 0x3 |
| #define GPT0_CLK_SHIFT 8 |
| #define GPT1_CLK_SHIFT 11 |
| #define GPT2_CLK_SHIFT 12 |
| #define GPT_CLK_MASK 0x1 |
| #define AUX_CLK_PLL3_MASK 0 |
| #define AUX_CLK_PLL1_MASK 1 |
| |
| #define PERIP1_CLK_ENB ((unsigned int *)(MISC_BASE + 0x02C)) |
| /* PERIP1_CLK_ENB register masks */ |
| #define UART_CLK_ENB 3 |
| #define SSP_CLK_ENB 5 |
| #define I2C_CLK_ENB 7 |
| #define JPEG_CLK_ENB 8 |
| #define FIRDA_CLK_ENB 10 |
| #define GPT1_CLK_ENB 11 |
| #define GPT2_CLK_ENB 12 |
| #define ADC_CLK_ENB 15 |
| #define RTC_CLK_ENB 17 |
| #define GPIO_CLK_ENB 18 |
| #define DMA_CLK_ENB 19 |
| #define SMI_CLK_ENB 21 |
| #define GMAC_CLK_ENB 23 |
| #define USBD_CLK_ENB 24 |
| #define USBH_CLK_ENB 25 |
| #define C3_CLK_ENB 31 |
| |
| #define SOC_CORE_ID ((unsigned int *)(MISC_BASE + 0x030)) |
| #define RAS_CLK_ENB ((unsigned int *)(MISC_BASE + 0x034)) |
| #define PERIP1_SOF_RST ((unsigned int *)(MISC_BASE + 0x038)) |
| /* PERIP1_SOF_RST register masks */ |
| #define JPEG_SOF_RST 8 |
| |
| #define SOC_USER_ID ((unsigned int *)(MISC_BASE + 0x03C)) |
| #define RAS_SOF_RST ((unsigned int *)(MISC_BASE + 0x040)) |
| #define PRSC1_CLK_CFG ((unsigned int *)(MISC_BASE + 0x044)) |
| #define PRSC2_CLK_CFG ((unsigned int *)(MISC_BASE + 0x048)) |
| #define PRSC3_CLK_CFG ((unsigned int *)(MISC_BASE + 0x04C)) |
| /* gpt synthesizer register masks */ |
| #define GPT_MSCALE_SHIFT 0 |
| #define GPT_MSCALE_MASK 0xFFF |
| #define GPT_NSCALE_SHIFT 12 |
| #define GPT_NSCALE_MASK 0xF |
| |
| #define AMEM_CLK_CFG ((unsigned int *)(MISC_BASE + 0x050)) |
| #define EXPI_CLK_CFG ((unsigned int *)(MISC_BASE + 0x054)) |
| #define CLCD_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x05C)) |
| #define FIRDA_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x060)) |
| #define UART_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x064)) |
| #define GMAC_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x068)) |
| #define RAS1_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x06C)) |
| #define RAS2_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x070)) |
| #define RAS3_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x074)) |
| #define RAS4_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x078)) |
| /* aux clk synthesiser register masks for irda to ras4 */ |
| #define AUX_EQ_SEL_SHIFT 30 |
| #define AUX_EQ_SEL_MASK 1 |
| #define AUX_EQ1_SEL 0 |
| #define AUX_EQ2_SEL 1 |
| #define AUX_XSCALE_SHIFT 16 |
| #define AUX_XSCALE_MASK 0xFFF |
| #define AUX_YSCALE_SHIFT 0 |
| #define AUX_YSCALE_MASK 0xFFF |
| |
| #define ICM1_ARB_CFG ((unsigned int *)(MISC_BASE + 0x07C)) |
| #define ICM2_ARB_CFG ((unsigned int *)(MISC_BASE + 0x080)) |
| #define ICM3_ARB_CFG ((unsigned int *)(MISC_BASE + 0x084)) |
| #define ICM4_ARB_CFG ((unsigned int *)(MISC_BASE + 0x088)) |
| #define ICM5_ARB_CFG ((unsigned int *)(MISC_BASE + 0x08C)) |
| #define ICM6_ARB_CFG ((unsigned int *)(MISC_BASE + 0x090)) |
| #define ICM7_ARB_CFG ((unsigned int *)(MISC_BASE + 0x094)) |
| #define ICM8_ARB_CFG ((unsigned int *)(MISC_BASE + 0x098)) |
| #define ICM9_ARB_CFG ((unsigned int *)(MISC_BASE + 0x09C)) |
| #define DMA_CHN_CFG ((unsigned int *)(MISC_BASE + 0x0A0)) |
| #define USB2_PHY_CFG ((unsigned int *)(MISC_BASE + 0x0A4)) |
| #define GMAC_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0A8)) |
| #define EXPI_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0AC)) |
| #define PRC1_LOCK_CTR ((unsigned int *)(MISC_BASE + 0x0C0)) |
| #define PRC2_LOCK_CTR ((unsigned int *)(MISC_BASE + 0x0C4)) |
| #define PRC3_LOCK_CTR ((unsigned int *)(MISC_BASE + 0x0C8)) |
| #define PRC4_LOCK_CTR ((unsigned int *)(MISC_BASE + 0x0CC)) |
| #define PRC1_IRQ_CTR ((unsigned int *)(MISC_BASE + 0x0D0)) |
| #define PRC2_IRQ_CTR ((unsigned int *)(MISC_BASE + 0x0D4)) |
| #define PRC3_IRQ_CTR ((unsigned int *)(MISC_BASE + 0x0D8)) |
| #define PRC4_IRQ_CTR ((unsigned int *)(MISC_BASE + 0x0DC)) |
| #define PWRDOWN_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0E0)) |
| #define COMPSSTL_1V8_CFG ((unsigned int *)(MISC_BASE + 0x0E4)) |
| #define COMPSSTL_2V5_CFG ((unsigned int *)(MISC_BASE + 0x0E8)) |
| #define COMPCOR_3V3_CFG ((unsigned int *)(MISC_BASE + 0x0EC)) |
| #define SSTLPAD_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0F0)) |
| #define BIST1_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0F4)) |
| #define BIST2_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0F8)) |
| #define BIST3_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0FC)) |
| #define BIST4_CFG_CTR ((unsigned int *)(MISC_BASE + 0x100)) |
| #define BIST5_CFG_CTR ((unsigned int *)(MISC_BASE + 0x104)) |
| #define BIST1_STS_RES ((unsigned int *)(MISC_BASE + 0x108)) |
| #define BIST2_STS_RES ((unsigned int *)(MISC_BASE + 0x10C)) |
| #define BIST3_STS_RES ((unsigned int *)(MISC_BASE + 0x110)) |
| #define BIST4_STS_RES ((unsigned int *)(MISC_BASE + 0x114)) |
| #define BIST5_STS_RES ((unsigned int *)(MISC_BASE + 0x118)) |
| #define SYSERR_CFG_CTR ((unsigned int *)(MISC_BASE + 0x11C)) |
| |
| #endif /* __MACH_MISC_REGS_H */ |