Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * Copyright (c) 2010 Samsung Electronics Co., Ltd.
0004  *      http://www.samsung.com/
0005  *
0006  * S5PV210 - Clock register definitions
0007  */
0008 
0009 #ifndef __ASM_ARCH_REGS_CLOCK_H
0010 #define __ASM_ARCH_REGS_CLOCK_H __FILE__
0011 
0012 #define S3C_ADDR_BASE       0xF6000000
0013 #define S3C_ADDR(x)     ((void __iomem __force *)S3C_ADDR_BASE + (x))
0014 #define S3C_VA_SYS      S3C_ADDR(0x00100000)
0015 
0016 #define S5P_CLKREG(x)       (S3C_VA_SYS + (x))
0017 
0018 #define S5P_APLL_LOCK       S5P_CLKREG(0x00)
0019 #define S5P_MPLL_LOCK       S5P_CLKREG(0x08)
0020 #define S5P_EPLL_LOCK       S5P_CLKREG(0x10)
0021 #define S5P_VPLL_LOCK       S5P_CLKREG(0x20)
0022 
0023 #define S5P_APLL_CON        S5P_CLKREG(0x100)
0024 #define S5P_MPLL_CON        S5P_CLKREG(0x108)
0025 #define S5P_EPLL_CON        S5P_CLKREG(0x110)
0026 #define S5P_EPLL_CON1       S5P_CLKREG(0x114)
0027 #define S5P_VPLL_CON        S5P_CLKREG(0x120)
0028 
0029 #define S5P_CLK_SRC0        S5P_CLKREG(0x200)
0030 #define S5P_CLK_SRC1        S5P_CLKREG(0x204)
0031 #define S5P_CLK_SRC2        S5P_CLKREG(0x208)
0032 #define S5P_CLK_SRC3        S5P_CLKREG(0x20C)
0033 #define S5P_CLK_SRC4        S5P_CLKREG(0x210)
0034 #define S5P_CLK_SRC5        S5P_CLKREG(0x214)
0035 #define S5P_CLK_SRC6        S5P_CLKREG(0x218)
0036 
0037 #define S5P_CLK_SRC_MASK0   S5P_CLKREG(0x280)
0038 #define S5P_CLK_SRC_MASK1   S5P_CLKREG(0x284)
0039 
0040 #define S5P_CLK_DIV0        S5P_CLKREG(0x300)
0041 #define S5P_CLK_DIV1        S5P_CLKREG(0x304)
0042 #define S5P_CLK_DIV2        S5P_CLKREG(0x308)
0043 #define S5P_CLK_DIV3        S5P_CLKREG(0x30C)
0044 #define S5P_CLK_DIV4        S5P_CLKREG(0x310)
0045 #define S5P_CLK_DIV5        S5P_CLKREG(0x314)
0046 #define S5P_CLK_DIV6        S5P_CLKREG(0x318)
0047 #define S5P_CLK_DIV7        S5P_CLKREG(0x31C)
0048 
0049 #define S5P_CLKGATE_MAIN0   S5P_CLKREG(0x400)
0050 #define S5P_CLKGATE_MAIN1   S5P_CLKREG(0x404)
0051 #define S5P_CLKGATE_MAIN2   S5P_CLKREG(0x408)
0052 
0053 #define S5P_CLKGATE_PERI0   S5P_CLKREG(0x420)
0054 #define S5P_CLKGATE_PERI1   S5P_CLKREG(0x424)
0055 
0056 #define S5P_CLKGATE_SCLK0   S5P_CLKREG(0x440)
0057 #define S5P_CLKGATE_SCLK1   S5P_CLKREG(0x444)
0058 #define S5P_CLKGATE_IP0     S5P_CLKREG(0x460)
0059 #define S5P_CLKGATE_IP1     S5P_CLKREG(0x464)
0060 #define S5P_CLKGATE_IP2     S5P_CLKREG(0x468)
0061 #define S5P_CLKGATE_IP3     S5P_CLKREG(0x46C)
0062 #define S5P_CLKGATE_IP4     S5P_CLKREG(0x470)
0063 
0064 #define S5P_CLKGATE_BLOCK   S5P_CLKREG(0x480)
0065 #define S5P_CLKGATE_BUS0    S5P_CLKREG(0x484)
0066 #define S5P_CLKGATE_BUS1    S5P_CLKREG(0x488)
0067 #define S5P_CLK_OUT     S5P_CLKREG(0x500)
0068 
0069 /* DIV/MUX STATUS */
0070 #define S5P_CLKDIV_STAT0    S5P_CLKREG(0x1000)
0071 #define S5P_CLKDIV_STAT1    S5P_CLKREG(0x1004)
0072 #define S5P_CLKMUX_STAT0    S5P_CLKREG(0x1100)
0073 #define S5P_CLKMUX_STAT1    S5P_CLKREG(0x1104)
0074 
0075 /* CLKSRC0 */
0076 #define S5P_CLKSRC0_MUX200_SHIFT    (16)
0077 #define S5P_CLKSRC0_MUX200_MASK     (0x1 << S5P_CLKSRC0_MUX200_SHIFT)
0078 #define S5P_CLKSRC0_MUX166_MASK     (0x1<<20)
0079 #define S5P_CLKSRC0_MUX133_MASK     (0x1<<24)
0080 
0081 /* CLKSRC2 */
0082 #define S5P_CLKSRC2_G3D_SHIFT           (0)
0083 #define S5P_CLKSRC2_G3D_MASK            (0x3 << S5P_CLKSRC2_G3D_SHIFT)
0084 #define S5P_CLKSRC2_MFC_SHIFT           (4)
0085 #define S5P_CLKSRC2_MFC_MASK            (0x3 << S5P_CLKSRC2_MFC_SHIFT)
0086 
0087 /* CLKSRC6*/
0088 #define S5P_CLKSRC6_ONEDRAM_SHIFT       (24)
0089 #define S5P_CLKSRC6_ONEDRAM_MASK        (0x3 << S5P_CLKSRC6_ONEDRAM_SHIFT)
0090 
0091 /* CLKDIV0 */
0092 #define S5P_CLKDIV0_APLL_SHIFT      (0)
0093 #define S5P_CLKDIV0_APLL_MASK       (0x7 << S5P_CLKDIV0_APLL_SHIFT)
0094 #define S5P_CLKDIV0_A2M_SHIFT       (4)
0095 #define S5P_CLKDIV0_A2M_MASK        (0x7 << S5P_CLKDIV0_A2M_SHIFT)
0096 #define S5P_CLKDIV0_HCLK200_SHIFT   (8)
0097 #define S5P_CLKDIV0_HCLK200_MASK    (0x7 << S5P_CLKDIV0_HCLK200_SHIFT)
0098 #define S5P_CLKDIV0_PCLK100_SHIFT   (12)
0099 #define S5P_CLKDIV0_PCLK100_MASK    (0x7 << S5P_CLKDIV0_PCLK100_SHIFT)
0100 #define S5P_CLKDIV0_HCLK166_SHIFT   (16)
0101 #define S5P_CLKDIV0_HCLK166_MASK    (0xF << S5P_CLKDIV0_HCLK166_SHIFT)
0102 #define S5P_CLKDIV0_PCLK83_SHIFT    (20)
0103 #define S5P_CLKDIV0_PCLK83_MASK     (0x7 << S5P_CLKDIV0_PCLK83_SHIFT)
0104 #define S5P_CLKDIV0_HCLK133_SHIFT   (24)
0105 #define S5P_CLKDIV0_HCLK133_MASK    (0xF << S5P_CLKDIV0_HCLK133_SHIFT)
0106 #define S5P_CLKDIV0_PCLK66_SHIFT    (28)
0107 #define S5P_CLKDIV0_PCLK66_MASK     (0x7 << S5P_CLKDIV0_PCLK66_SHIFT)
0108 
0109 /* CLKDIV2 */
0110 #define S5P_CLKDIV2_G3D_SHIFT           (0)
0111 #define S5P_CLKDIV2_G3D_MASK            (0xF << S5P_CLKDIV2_G3D_SHIFT)
0112 #define S5P_CLKDIV2_MFC_SHIFT           (4)
0113 #define S5P_CLKDIV2_MFC_MASK            (0xF << S5P_CLKDIV2_MFC_SHIFT)
0114 
0115 /* CLKDIV6 */
0116 #define S5P_CLKDIV6_ONEDRAM_SHIFT       (28)
0117 #define S5P_CLKDIV6_ONEDRAM_MASK        (0xF << S5P_CLKDIV6_ONEDRAM_SHIFT)
0118 
0119 #define S5P_SWRESET     S5P_CLKREG(0x2000)
0120 
0121 #define S5P_ARM_MCS_CON     S5P_CLKREG(0x6100)
0122 
0123 /* Registers related to power management */
0124 #define S5P_PWR_CFG     S5P_CLKREG(0xC000)
0125 #define S5P_EINT_WAKEUP_MASK    S5P_CLKREG(0xC004)
0126 #define S5P_WAKEUP_MASK     S5P_CLKREG(0xC008)
0127 #define S5P_PWR_MODE        S5P_CLKREG(0xC00C)
0128 #define S5P_NORMAL_CFG      S5P_CLKREG(0xC010)
0129 #define S5P_IDLE_CFG        S5P_CLKREG(0xC020)
0130 #define S5P_STOP_CFG        S5P_CLKREG(0xC030)
0131 #define S5P_STOP_MEM_CFG    S5P_CLKREG(0xC034)
0132 #define S5P_SLEEP_CFG       S5P_CLKREG(0xC040)
0133 
0134 #define S5P_OSC_FREQ        S5P_CLKREG(0xC100)
0135 #define S5P_OSC_STABLE      S5P_CLKREG(0xC104)
0136 #define S5P_PWR_STABLE      S5P_CLKREG(0xC108)
0137 #define S5P_MTC_STABLE      S5P_CLKREG(0xC110)
0138 #define S5P_CLAMP_STABLE    S5P_CLKREG(0xC114)
0139 
0140 #define S5P_WAKEUP_STAT     S5P_CLKREG(0xC200)
0141 #define S5P_BLK_PWR_STAT    S5P_CLKREG(0xC204)
0142 
0143 #define S5P_OTHERS      S5P_CLKREG(0xE000)
0144 #define S5P_OM_STAT     S5P_CLKREG(0xE100)
0145 #define S5P_HDMI_PHY_CONTROL    S5P_CLKREG(0xE804)
0146 #define S5P_USB_PHY_CONTROL S5P_CLKREG(0xE80C)
0147 #define S5P_DAC_PHY_CONTROL S5P_CLKREG(0xE810)
0148 
0149 #define S5P_INFORM0     S5P_CLKREG(0xF000)
0150 #define S5P_INFORM1     S5P_CLKREG(0xF004)
0151 #define S5P_INFORM2     S5P_CLKREG(0xF008)
0152 #define S5P_INFORM3     S5P_CLKREG(0xF00C)
0153 #define S5P_INFORM4     S5P_CLKREG(0xF010)
0154 #define S5P_INFORM5     S5P_CLKREG(0xF014)
0155 #define S5P_INFORM6     S5P_CLKREG(0xF018)
0156 #define S5P_INFORM7     S5P_CLKREG(0xF01C)
0157 
0158 #define S5P_RST_STAT        S5P_CLKREG(0xA000)
0159 #define S5P_OSC_CON     S5P_CLKREG(0x8000)
0160 #define S5P_MDNIE_SEL       S5P_CLKREG(0x7008)
0161 #define S5P_MIPI_PHY_CON0   S5P_CLKREG(0x7200)
0162 #define S5P_MIPI_PHY_CON1   S5P_CLKREG(0x7204)
0163 
0164 #define S5P_IDLE_CFG_TL_MASK    (3 << 30)
0165 #define S5P_IDLE_CFG_TM_MASK    (3 << 28)
0166 #define S5P_IDLE_CFG_TL_ON  (2 << 30)
0167 #define S5P_IDLE_CFG_TM_ON  (2 << 28)
0168 #define S5P_IDLE_CFG_DIDLE  (1 << 0)
0169 
0170 #define S5P_CFG_WFI_CLEAN       (~(3 << 8))
0171 #define S5P_CFG_WFI_IDLE        (1 << 8)
0172 #define S5P_CFG_WFI_STOP        (2 << 8)
0173 #define S5P_CFG_WFI_SLEEP       (3 << 8)
0174 
0175 #define S5P_OTHER_SYS_INT       24
0176 #define S5P_OTHER_STA_TYPE      23
0177 #define S5P_OTHER_SYSC_INTOFF       (1 << 0)
0178 #define STA_TYPE_EXPON          0
0179 #define STA_TYPE_SFR            1
0180 
0181 #define S5P_PWR_STA_EXP_SCALE       0
0182 #define S5P_PWR_STA_CNT         4
0183 
0184 #define S5P_PWR_STABLE_COUNT        85500
0185 
0186 #define S5P_SLEEP_CFG_OSC_EN        (1 << 0)
0187 #define S5P_SLEEP_CFG_USBOSC_EN     (1 << 1)
0188 
0189 /* OTHERS Resgister */
0190 #define S5P_OTHERS_USB_SIG_MASK     (1 << 16)
0191 
0192 /* S5P_DAC_CONTROL */
0193 #define S5P_DAC_ENABLE          (1)
0194 #define S5P_DAC_DISABLE         (0)
0195 
0196 #endif /* __ASM_ARCH_REGS_CLOCK_H */