xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-omap5/clock.h (revision 0459bc30b601434abc27b75e7319ac790e6d5c80)
1af1d002fSLokesh Vutla /*
2af1d002fSLokesh Vutla  * (C) Copyright 2010
3af1d002fSLokesh Vutla  * Texas Instruments, <www.ti.com>
4af1d002fSLokesh Vutla  *
5af1d002fSLokesh Vutla  *	Aneesh V <aneesh@ti.com>
6af1d002fSLokesh Vutla  *	Sricharan R <r.sricharan@ti.com>
7af1d002fSLokesh Vutla  *
81a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
9af1d002fSLokesh Vutla  */
10af1d002fSLokesh Vutla #ifndef _CLOCKS_OMAP5_H_
11af1d002fSLokesh Vutla #define _CLOCKS_OMAP5_H_
12af1d002fSLokesh Vutla #include <common.h>
13af1d002fSLokesh Vutla #include <asm/omap_common.h>
14af1d002fSLokesh Vutla 
15af1d002fSLokesh Vutla /*
16af1d002fSLokesh Vutla  * Assuming a maximum of 1.5 GHz ARM speed and a minimum of 2 cycles per
17af1d002fSLokesh Vutla  * loop, allow for a minimum of 2 ms wait (in reality the wait will be
18af1d002fSLokesh Vutla  * much more than that)
19af1d002fSLokesh Vutla  */
20af1d002fSLokesh Vutla #define LDELAY		1000000
21af1d002fSLokesh Vutla 
22af1d002fSLokesh Vutla /* CM_DLL_CTRL */
23af1d002fSLokesh Vutla #define CM_DLL_CTRL_OVERRIDE_SHIFT		0
24af1d002fSLokesh Vutla #define CM_DLL_CTRL_OVERRIDE_MASK		(1 << 0)
25af1d002fSLokesh Vutla #define CM_DLL_CTRL_NO_OVERRIDE			0
26af1d002fSLokesh Vutla 
27af1d002fSLokesh Vutla /* CM_CLKMODE_DPLL */
28af1d002fSLokesh Vutla #define CM_CLKMODE_DPLL_REGM4XEN_SHIFT		11
29af1d002fSLokesh Vutla #define CM_CLKMODE_DPLL_REGM4XEN_MASK		(1 << 11)
30af1d002fSLokesh Vutla #define CM_CLKMODE_DPLL_LPMODE_EN_SHIFT		10
31af1d002fSLokesh Vutla #define CM_CLKMODE_DPLL_LPMODE_EN_MASK		(1 << 10)
32af1d002fSLokesh Vutla #define CM_CLKMODE_DPLL_RELOCK_RAMP_EN_SHIFT	9
33af1d002fSLokesh Vutla #define CM_CLKMODE_DPLL_RELOCK_RAMP_EN_MASK	(1 << 9)
34af1d002fSLokesh Vutla #define CM_CLKMODE_DPLL_DRIFTGUARD_EN_SHIFT	8
35af1d002fSLokesh Vutla #define CM_CLKMODE_DPLL_DRIFTGUARD_EN_MASK	(1 << 8)
36af1d002fSLokesh Vutla #define CM_CLKMODE_DPLL_RAMP_RATE_SHIFT		5
37af1d002fSLokesh Vutla #define CM_CLKMODE_DPLL_RAMP_RATE_MASK		(0x7 << 5)
38af1d002fSLokesh Vutla #define CM_CLKMODE_DPLL_EN_SHIFT		0
39af1d002fSLokesh Vutla #define CM_CLKMODE_DPLL_EN_MASK			(0x7 << 0)
40af1d002fSLokesh Vutla 
41af1d002fSLokesh Vutla #define CM_CLKMODE_DPLL_DPLL_EN_SHIFT		0
42af1d002fSLokesh Vutla #define CM_CLKMODE_DPLL_DPLL_EN_MASK		7
43af1d002fSLokesh Vutla 
44af1d002fSLokesh Vutla #define DPLL_EN_STOP			1
45af1d002fSLokesh Vutla #define DPLL_EN_MN_BYPASS		4
46af1d002fSLokesh Vutla #define DPLL_EN_LOW_POWER_BYPASS	5
47af1d002fSLokesh Vutla #define DPLL_EN_FAST_RELOCK_BYPASS	6
48af1d002fSLokesh Vutla #define DPLL_EN_LOCK			7
49af1d002fSLokesh Vutla 
50af1d002fSLokesh Vutla /* CM_IDLEST_DPLL fields */
51af1d002fSLokesh Vutla #define ST_DPLL_CLK_MASK		1
52af1d002fSLokesh Vutla 
53af1d002fSLokesh Vutla /* SGX */
54af1d002fSLokesh Vutla #define CLKSEL_GPU_HYD_GCLK_MASK		(1 << 25)
55af1d002fSLokesh Vutla #define CLKSEL_GPU_CORE_GCLK_MASK		(1 << 24)
56af1d002fSLokesh Vutla 
57af1d002fSLokesh Vutla /* CM_CLKSEL_DPLL */
58af1d002fSLokesh Vutla #define CM_CLKSEL_DPLL_DPLL_SD_DIV_SHIFT	24
59af1d002fSLokesh Vutla #define CM_CLKSEL_DPLL_DPLL_SD_DIV_MASK		(0xFF << 24)
60af1d002fSLokesh Vutla #define CM_CLKSEL_DPLL_M_SHIFT			8
61af1d002fSLokesh Vutla #define CM_CLKSEL_DPLL_M_MASK			(0x7FF << 8)
62af1d002fSLokesh Vutla #define CM_CLKSEL_DPLL_N_SHIFT			0
63af1d002fSLokesh Vutla #define CM_CLKSEL_DPLL_N_MASK			0x7F
64af1d002fSLokesh Vutla #define CM_CLKSEL_DCC_EN_SHIFT			22
65af1d002fSLokesh Vutla #define CM_CLKSEL_DCC_EN_MASK			(1 << 22)
66af1d002fSLokesh Vutla 
67af1d002fSLokesh Vutla /* CM_SYS_CLKSEL */
68af1d002fSLokesh Vutla #define CM_SYS_CLKSEL_SYS_CLKSEL_MASK  7
69af1d002fSLokesh Vutla 
70af1d002fSLokesh Vutla /* CM_CLKSEL_CORE */
71af1d002fSLokesh Vutla #define CLKSEL_CORE_SHIFT	0
72af1d002fSLokesh Vutla #define CLKSEL_L3_SHIFT		4
73af1d002fSLokesh Vutla #define CLKSEL_L4_SHIFT		8
74af1d002fSLokesh Vutla 
75af1d002fSLokesh Vutla #define CLKSEL_CORE_X2_DIV_1	0
76af1d002fSLokesh Vutla #define CLKSEL_L3_CORE_DIV_2	1
77af1d002fSLokesh Vutla #define CLKSEL_L4_L3_DIV_2	1
78af1d002fSLokesh Vutla 
79af1d002fSLokesh Vutla /* CM_ABE_PLL_REF_CLKSEL */
80af1d002fSLokesh Vutla #define CM_ABE_PLL_REF_CLKSEL_CLKSEL_SHIFT	0
81af1d002fSLokesh Vutla #define CM_ABE_PLL_REF_CLKSEL_CLKSEL_MASK	1
82af1d002fSLokesh Vutla #define CM_ABE_PLL_REF_CLKSEL_CLKSEL_SYSCLK	0
83af1d002fSLokesh Vutla #define CM_ABE_PLL_REF_CLKSEL_CLKSEL_32KCLK	1
8497405d84SLokesh Vutla 
8597405d84SLokesh Vutla /* CM_CLKSEL_ABE_PLL_SYS */
8697405d84SLokesh Vutla #define CM_CLKSEL_ABE_PLL_SYS_CLKSEL_SHIFT	0
8797405d84SLokesh Vutla #define CM_CLKSEL_ABE_PLL_SYS_CLKSEL_MASK	1
8897405d84SLokesh Vutla #define CM_ABE_PLL_SYS_CLKSEL_SYSCLK1		0
8997405d84SLokesh Vutla #define CM_ABE_PLL_SYS_CLKSEL_SYSCLK2		1
90af1d002fSLokesh Vutla 
91af1d002fSLokesh Vutla /* CM_BYPCLK_DPLL_IVA */
92af1d002fSLokesh Vutla #define CM_BYPCLK_DPLL_IVA_CLKSEL_SHIFT		0
93af1d002fSLokesh Vutla #define CM_BYPCLK_DPLL_IVA_CLKSEL_MASK		3
94af1d002fSLokesh Vutla 
95af1d002fSLokesh Vutla #define DPLL_IVA_CLKSEL_CORE_X2_DIV_2		1
96af1d002fSLokesh Vutla 
97af1d002fSLokesh Vutla /* CM_SHADOW_FREQ_CONFIG1 */
98af1d002fSLokesh Vutla #define SHADOW_FREQ_CONFIG1_FREQ_UPDATE_MASK	1
99af1d002fSLokesh Vutla #define SHADOW_FREQ_CONFIG1_DLL_OVERRIDE_MASK	4
100af1d002fSLokesh Vutla #define SHADOW_FREQ_CONFIG1_DLL_RESET_MASK	8
101af1d002fSLokesh Vutla 
102af1d002fSLokesh Vutla #define SHADOW_FREQ_CONFIG1_DPLL_EN_SHIFT	8
103af1d002fSLokesh Vutla #define SHADOW_FREQ_CONFIG1_DPLL_EN_MASK	(7 << 8)
104af1d002fSLokesh Vutla 
105af1d002fSLokesh Vutla #define SHADOW_FREQ_CONFIG1_M2_DIV_SHIFT	11
106af1d002fSLokesh Vutla #define SHADOW_FREQ_CONFIG1_M2_DIV_MASK		(0x1F << 11)
107af1d002fSLokesh Vutla 
108af1d002fSLokesh Vutla /*CM_<clock_domain>__CLKCTRL */
109af1d002fSLokesh Vutla #define CD_CLKCTRL_CLKTRCTRL_SHIFT		0
110af1d002fSLokesh Vutla #define CD_CLKCTRL_CLKTRCTRL_MASK		3
111af1d002fSLokesh Vutla 
112af1d002fSLokesh Vutla #define CD_CLKCTRL_CLKTRCTRL_NO_SLEEP		0
113af1d002fSLokesh Vutla #define CD_CLKCTRL_CLKTRCTRL_SW_SLEEP		1
114af1d002fSLokesh Vutla #define CD_CLKCTRL_CLKTRCTRL_SW_WKUP		2
115af1d002fSLokesh Vutla #define CD_CLKCTRL_CLKTRCTRL_HW_AUTO		3
116af1d002fSLokesh Vutla 
117af1d002fSLokesh Vutla 
118af1d002fSLokesh Vutla /* CM_<clock_domain>_<module>_CLKCTRL */
119af1d002fSLokesh Vutla #define MODULE_CLKCTRL_MODULEMODE_SHIFT		0
120af1d002fSLokesh Vutla #define MODULE_CLKCTRL_MODULEMODE_MASK		3
121af1d002fSLokesh Vutla #define MODULE_CLKCTRL_IDLEST_SHIFT		16
122af1d002fSLokesh Vutla #define MODULE_CLKCTRL_IDLEST_MASK		(3 << 16)
123af1d002fSLokesh Vutla 
124af1d002fSLokesh Vutla #define MODULE_CLKCTRL_MODULEMODE_SW_DISABLE		0
125af1d002fSLokesh Vutla #define MODULE_CLKCTRL_MODULEMODE_HW_AUTO		1
126af1d002fSLokesh Vutla #define MODULE_CLKCTRL_MODULEMODE_SW_EXPLICIT_EN	2
127af1d002fSLokesh Vutla 
128af1d002fSLokesh Vutla #define MODULE_CLKCTRL_IDLEST_FULLY_FUNCTIONAL	0
129af1d002fSLokesh Vutla #define MODULE_CLKCTRL_IDLEST_TRANSITIONING	1
130af1d002fSLokesh Vutla #define MODULE_CLKCTRL_IDLEST_IDLE		2
131af1d002fSLokesh Vutla #define MODULE_CLKCTRL_IDLEST_DISABLED		3
132af1d002fSLokesh Vutla 
133af1d002fSLokesh Vutla /* CM_L4PER_GPIO4_CLKCTRL */
134af1d002fSLokesh Vutla #define GPIO4_CLKCTRL_OPTFCLKEN_MASK		(1 << 8)
135af1d002fSLokesh Vutla 
136af1d002fSLokesh Vutla /* CM_L3INIT_HSMMCn_CLKCTRL */
137af1d002fSLokesh Vutla #define HSMMC_CLKCTRL_CLKSEL_MASK		(1 << 24)
138af1d002fSLokesh Vutla #define HSMMC_CLKCTRL_CLKSEL_DIV_MASK		(1 << 25)
139af1d002fSLokesh Vutla 
1408ffcf74bSRoger Quadros /* CM_L3INIT_SATA_CLKCTRL */
1418ffcf74bSRoger Quadros #define SATA_CLKCTRL_OPTFCLKEN_MASK		(1 << 8)
1428ffcf74bSRoger Quadros 
143af1d002fSLokesh Vutla /* CM_WKUP_GPTIMER1_CLKCTRL */
144af1d002fSLokesh Vutla #define GPTIMER1_CLKCTRL_CLKSEL_MASK		(1 << 24)
145af1d002fSLokesh Vutla 
146af1d002fSLokesh Vutla /* CM_CAM_ISS_CLKCTRL */
147af1d002fSLokesh Vutla #define ISS_CLKCTRL_OPTFCLKEN_MASK		(1 << 8)
148af1d002fSLokesh Vutla 
149af1d002fSLokesh Vutla /* CM_DSS_DSS_CLKCTRL */
150af1d002fSLokesh Vutla #define DSS_CLKCTRL_OPTFCLKEN_MASK		0xF00
151af1d002fSLokesh Vutla 
152af1d002fSLokesh Vutla /* CM_L3INIT_USBPHY_CLKCTRL */
153af1d002fSLokesh Vutla #define USBPHY_CLKCTRL_OPTFCLKEN_PHY_48M_MASK	8
154af1d002fSLokesh Vutla 
155d3d037aeSDan Murphy /* CM_L3INIT_USB_HOST_HS_CLKCTRL */
156d3d037aeSDan Murphy #define OPTFCLKEN_FUNC48M_CLK			(1 << 15)
157d3d037aeSDan Murphy #define OPTFCLKEN_HSIC480M_P2_CLK		(1 << 14)
158d3d037aeSDan Murphy #define OPTFCLKEN_HSIC480M_P1_CLK		(1 << 13)
159d3d037aeSDan Murphy #define OPTFCLKEN_HSIC60M_P2_CLK		(1 << 12)
160d3d037aeSDan Murphy #define OPTFCLKEN_HSIC60M_P1_CLK		(1 << 11)
161d3d037aeSDan Murphy #define OPTFCLKEN_UTMI_P3_CLK			(1 << 10)
162d3d037aeSDan Murphy #define OPTFCLKEN_UTMI_P2_CLK			(1 << 9)
163d3d037aeSDan Murphy #define OPTFCLKEN_UTMI_P1_CLK			(1 << 8)
164d3d037aeSDan Murphy #define OPTFCLKEN_HSIC480M_P3_CLK		(1 << 7)
165d3d037aeSDan Murphy #define OPTFCLKEN_HSIC60M_P3_CLK		(1 << 6)
166d3d037aeSDan Murphy 
167d3d037aeSDan Murphy /* CM_L3INIT_USB_TLL_HS_CLKCTRL */
168d3d037aeSDan Murphy #define OPTFCLKEN_USB_CH0_CLK_ENABLE	(1 << 8)
169d3d037aeSDan Murphy #define OPTFCLKEN_USB_CH1_CLK_ENABLE	(1 << 9)
170d3d037aeSDan Murphy #define OPTFCLKEN_USB_CH2_CLK_ENABLE	(1 << 10)
171d3d037aeSDan Murphy 
172d861a333SDan Murphy /* CM_COREAON_USB_PHY_CORE_CLKCTRL */
173d861a333SDan Murphy #define USBPHY_CORE_CLKCTRL_OPTFCLKEN_CLK32K	(1 << 8)
174d861a333SDan Murphy 
1757beaf8b6SKishon Vijay Abraham I /* CM_COREAON_L3INIT_60M_GFCLK_CLKCTRL */
1767beaf8b6SKishon Vijay Abraham I #define L3INIT_CLKCTRL_OPTFCLKEN_60M_GFCLK	(1 << 8)
1777beaf8b6SKishon Vijay Abraham I 
178d861a333SDan Murphy /* CM_L3INIT_USB_OTG_SS_CLKCTRL */
179d861a333SDan Murphy #define OTG_SS_CLKCTRL_MODULEMODE_HW	(1 << 0)
180d861a333SDan Murphy #define OPTFCLKEN_REFCLK960M			(1 << 8)
181d861a333SDan Murphy 
182d861a333SDan Murphy /* CM_L3INIT_OCP2SCP1_CLKCTRL */
183d861a333SDan Murphy #define OCP2SCP1_CLKCTRL_MODULEMODE_HW	(1 << 0)
184d861a333SDan Murphy 
185af1d002fSLokesh Vutla /* CM_MPU_MPU_CLKCTRL */
186af1d002fSLokesh Vutla #define MPU_CLKCTRL_CLKSEL_EMIF_DIV_MODE_SHIFT	24
187af1d002fSLokesh Vutla #define MPU_CLKCTRL_CLKSEL_EMIF_DIV_MODE_MASK	(3 << 24)
188af1d002fSLokesh Vutla #define MPU_CLKCTRL_CLKSEL_ABE_DIV_MODE_SHIFT	26
189af1d002fSLokesh Vutla #define MPU_CLKCTRL_CLKSEL_ABE_DIV_MODE_MASK	(1 << 26)
190af1d002fSLokesh Vutla 
191af1d002fSLokesh Vutla /* CM_WKUPAON_SCRM_CLKCTRL */
192af1d002fSLokesh Vutla #define OPTFCLKEN_SCRM_PER_SHIFT		9
193af1d002fSLokesh Vutla #define OPTFCLKEN_SCRM_PER_MASK			(1 << 9)
194af1d002fSLokesh Vutla #define OPTFCLKEN_SCRM_CORE_SHIFT		8
195af1d002fSLokesh Vutla #define OPTFCLKEN_SCRM_CORE_MASK		(1 << 8)
196af1d002fSLokesh Vutla 
197af1d002fSLokesh Vutla /* CM_COREAON_IO_SRCOMP_CLKCTRL */
198af1d002fSLokesh Vutla #define OPTFCLKEN_SRCOMP_FCLK_SHIFT		8
199af1d002fSLokesh Vutla #define OPTFCLKEN_SRCOMP_FCLK_MASK		(1 << 8)
200af1d002fSLokesh Vutla 
201af1d002fSLokesh Vutla /* PRM_RSTTIME */
202af1d002fSLokesh Vutla #define RSTTIME1_SHIFT				0
203af1d002fSLokesh Vutla #define RSTTIME1_MASK				(0x3ff << 0)
204af1d002fSLokesh Vutla 
205af1d002fSLokesh Vutla /* Clock frequencies */
206af1d002fSLokesh Vutla #define OMAP_SYS_CLK_IND_38_4_MHZ	6
207af1d002fSLokesh Vutla 
208af1d002fSLokesh Vutla /* PRM_VC_VAL_BYPASS */
209af1d002fSLokesh Vutla #define PRM_VC_I2C_CHANNEL_FREQ_KHZ	400
210af1d002fSLokesh Vutla 
211834e91afSDan Murphy /* CTRL_CORE_SRCOMP_NORTH_SIDE */
212834e91afSDan Murphy #define USB2PHY_DISCHGDET	(1 << 29)
213834e91afSDan Murphy #define USB2PHY_AUTORESUME_EN (1 << 30)
214834e91afSDan Murphy 
215af1d002fSLokesh Vutla /* SMPS */
216af1d002fSLokesh Vutla #define SMPS_I2C_SLAVE_ADDR	0x12
217af1d002fSLokesh Vutla #define SMPS_REG_ADDR_12_MPU	0x23
218af1d002fSLokesh Vutla #define SMPS_REG_ADDR_45_IVA	0x2B
219af1d002fSLokesh Vutla #define SMPS_REG_ADDR_8_CORE	0x37
220af1d002fSLokesh Vutla 
221af1d002fSLokesh Vutla /* PALMAS VOLTAGE SETTINGS in mv for OPP_NOMINAL */
222af1d002fSLokesh Vutla /* ES1.0 settings */
223af1d002fSLokesh Vutla #define VDD_MPU		1040
224af1d002fSLokesh Vutla #define VDD_MM		1040
225af1d002fSLokesh Vutla #define VDD_CORE	1040
226af1d002fSLokesh Vutla 
227af1d002fSLokesh Vutla #define VDD_MPU_LOW	890
228af1d002fSLokesh Vutla #define VDD_MM_LOW	890
229af1d002fSLokesh Vutla #define VDD_CORE_LOW	890
230af1d002fSLokesh Vutla 
231af1d002fSLokesh Vutla /* ES2.0 settings */
232af1d002fSLokesh Vutla #define VDD_MPU_ES2	1060
233af1d002fSLokesh Vutla #define VDD_MM_ES2	1025
234af1d002fSLokesh Vutla #define VDD_CORE_ES2	1040
235af1d002fSLokesh Vutla 
236af1d002fSLokesh Vutla #define VDD_MPU_ES2_HIGH 1250
237af1d002fSLokesh Vutla #define VDD_MM_ES2_OD  1120
238af1d002fSLokesh Vutla 
239*0459bc30SNishanth Menon /* Efuse register offsets for OMAP5 platform */
240*0459bc30SNishanth Menon #define OMAP5_ES2_EFUSE_BASE	0x4A002000
241*0459bc30SNishanth Menon #define OMAP5_ES2_PROD_REGBITS	16
242*0459bc30SNishanth Menon 
243*0459bc30SNishanth Menon /* CONTROL_STD_FUSE_OPP_VDD_CORE_3 */
244*0459bc30SNishanth Menon #define OMAP5_ES2_PROD_CORE_OPNO_VMIN	(OMAP5_ES2_EFUSE_BASE + 0x1D8)
245*0459bc30SNishanth Menon 
246*0459bc30SNishanth Menon /* CONTROL_STD_FUSE_OPP_VDD_MM_4 */
247*0459bc30SNishanth Menon #define OMAP5_ES2_PROD_MM_OPNO_VMIN	(OMAP5_ES2_EFUSE_BASE + 0x1A4)
248*0459bc30SNishanth Menon /* CONTROL_STD_FUSE_OPP_VDD_MM_5 */
249*0459bc30SNishanth Menon #define OMAP5_ES2_PROD_MM_OPOD_VMIN	(OMAP5_ES2_EFUSE_BASE + 0x1A8)
250*0459bc30SNishanth Menon /* CONTROL_STD_FUSE_OPP_VDD_MPU_6 */
251*0459bc30SNishanth Menon #define OMAP5_ES2_PROD_MPU_OPNO_VMIN	(OMAP5_ES2_EFUSE_BASE + 0x1C4)
252*0459bc30SNishanth Menon /* CONTROL_STD_FUSE_OPP_VDD_MPU_7 */
253*0459bc30SNishanth Menon #define OMAP5_ES2_PROD_MPU_OPHI_VMIN	(OMAP5_ES2_EFUSE_BASE + 0x1C8)
254*0459bc30SNishanth Menon 
255e42523f5SAnna, Suman /* DRA74x/75x/72x voltage settings in mv for OPP_NOM per DM */
25688730f19SAnna, Suman #define VDD_MPU_DRA7_NOM	1150
25788730f19SAnna, Suman #define VDD_CORE_DRA7_NOM	1150
25888730f19SAnna, Suman #define VDD_EVE_DRA7_NOM	1060
25988730f19SAnna, Suman #define VDD_GPU_DRA7_NOM	1060
26088730f19SAnna, Suman #define VDD_IVA_DRA7_NOM	1060
26188730f19SAnna, Suman 
26288730f19SAnna, Suman /* DRA74x/75x/72x voltage settings in mv for OPP_OD per DM */
26388730f19SAnna, Suman #define VDD_EVE_DRA7_OD		1150
26488730f19SAnna, Suman #define VDD_GPU_DRA7_OD		1150
26588730f19SAnna, Suman #define VDD_IVA_DRA7_OD		1150
26688730f19SAnna, Suman 
26788730f19SAnna, Suman /* DRA74x/75x/72x voltage settings in mv for OPP_HIGH per DM */
26888730f19SAnna, Suman #define VDD_EVE_DRA7_HIGH	1250
26988730f19SAnna, Suman #define VDD_GPU_DRA7_HIGH	1250
27088730f19SAnna, Suman #define VDD_IVA_DRA7_HIGH	1250
271b558af81SLubomir Popov 
27218c9d55aSNishanth Menon /* Efuse register offsets for DRA7xx platform */
27318c9d55aSNishanth Menon #define DRA752_EFUSE_BASE	0x4A002000
27418c9d55aSNishanth Menon #define DRA752_EFUSE_REGBITS	16
27518c9d55aSNishanth Menon /* STD_FUSE_OPP_VMIN_IVA_2 */
27618c9d55aSNishanth Menon #define STD_FUSE_OPP_VMIN_IVA_NOM	(DRA752_EFUSE_BASE + 0x05CC)
27718c9d55aSNishanth Menon /* STD_FUSE_OPP_VMIN_IVA_3 */
27818c9d55aSNishanth Menon #define STD_FUSE_OPP_VMIN_IVA_OD	(DRA752_EFUSE_BASE + 0x05D0)
27918c9d55aSNishanth Menon /* STD_FUSE_OPP_VMIN_IVA_4 */
28018c9d55aSNishanth Menon #define STD_FUSE_OPP_VMIN_IVA_HIGH	(DRA752_EFUSE_BASE + 0x05D4)
28118c9d55aSNishanth Menon /* STD_FUSE_OPP_VMIN_DSPEVE_2 */
28218c9d55aSNishanth Menon #define STD_FUSE_OPP_VMIN_DSPEVE_NOM	(DRA752_EFUSE_BASE + 0x05E0)
28318c9d55aSNishanth Menon /* STD_FUSE_OPP_VMIN_DSPEVE_3 */
28418c9d55aSNishanth Menon #define STD_FUSE_OPP_VMIN_DSPEVE_OD	(DRA752_EFUSE_BASE + 0x05E4)
28518c9d55aSNishanth Menon /* STD_FUSE_OPP_VMIN_DSPEVE_4 */
28618c9d55aSNishanth Menon #define STD_FUSE_OPP_VMIN_DSPEVE_HIGH	(DRA752_EFUSE_BASE + 0x05E8)
28718c9d55aSNishanth Menon /* STD_FUSE_OPP_VMIN_CORE_2 */
28818c9d55aSNishanth Menon #define STD_FUSE_OPP_VMIN_CORE_NOM	(DRA752_EFUSE_BASE + 0x05F4)
28918c9d55aSNishanth Menon /* STD_FUSE_OPP_VMIN_GPU_2 */
29018c9d55aSNishanth Menon #define STD_FUSE_OPP_VMIN_GPU_NOM	(DRA752_EFUSE_BASE + 0x1B08)
29118c9d55aSNishanth Menon /* STD_FUSE_OPP_VMIN_GPU_3 */
29218c9d55aSNishanth Menon #define STD_FUSE_OPP_VMIN_GPU_OD	(DRA752_EFUSE_BASE + 0x1B0C)
29318c9d55aSNishanth Menon /* STD_FUSE_OPP_VMIN_GPU_4 */
29418c9d55aSNishanth Menon #define STD_FUSE_OPP_VMIN_GPU_HIGH	(DRA752_EFUSE_BASE + 0x1B10)
29518c9d55aSNishanth Menon /* STD_FUSE_OPP_VMIN_MPU_2 */
29618c9d55aSNishanth Menon #define STD_FUSE_OPP_VMIN_MPU_NOM	(DRA752_EFUSE_BASE + 0x1B20)
29718c9d55aSNishanth Menon /* STD_FUSE_OPP_VMIN_MPU_3 */
29818c9d55aSNishanth Menon #define STD_FUSE_OPP_VMIN_MPU_OD	(DRA752_EFUSE_BASE + 0x1B24)
29918c9d55aSNishanth Menon /* STD_FUSE_OPP_VMIN_MPU_4 */
30018c9d55aSNishanth Menon #define STD_FUSE_OPP_VMIN_MPU_HIGH	(DRA752_EFUSE_BASE + 0x1B28)
30118c9d55aSNishanth Menon 
302fba82eb7SSuman Anna #if defined(CONFIG_DRA7_MPU_OPP_HIGH)
303fba82eb7SSuman Anna #define DRA7_MPU_OPP	OPP_HIGH
304fba82eb7SSuman Anna #elif defined(CONFIG_DRA7_MPU_OPP_OD)
305fba82eb7SSuman Anna #define DRA7_MPU_OPP	OPP_OD
306fba82eb7SSuman Anna #else /* OPP_NOM default */
307fba82eb7SSuman Anna #define DRA7_MPU_OPP	OPP_NOM
308fba82eb7SSuman Anna #endif
30988730f19SAnna, Suman 
310fba82eb7SSuman Anna /* OPP_NOM only available option for CORE */
311fba82eb7SSuman Anna #define DRA7_CORE_OPP	OPP_NOM
312fba82eb7SSuman Anna 
313fba82eb7SSuman Anna #if defined(CONFIG_DRA7_DSPEVE_OPP_HIGH)
314fba82eb7SSuman Anna #define DRA7_DSPEVE_OPP	OPP_HIGH
315fba82eb7SSuman Anna #elif defined(CONFIG_DRA7_DSPEVE_OPP_OD)
316fba82eb7SSuman Anna #define DRA7_DSPEVE_OPP	OPP_OD
317fba82eb7SSuman Anna #else /* OPP_NOM default */
318fba82eb7SSuman Anna #define DRA7_DSPEVE_OPP	OPP_NOM
319fba82eb7SSuman Anna #endif
320fba82eb7SSuman Anna 
321fba82eb7SSuman Anna #if defined(CONFIG_DRA7_IVA_OPP_HIGH)
322fba82eb7SSuman Anna #define DRA7_IVA_OPP	OPP_HIGH
323fba82eb7SSuman Anna #elif defined(CONFIG_DRA7_IVA_OPP_OD)
324fba82eb7SSuman Anna #define DRA7_IVA_OPP	OPP_OD
325fba82eb7SSuman Anna #else /* OPP_NOM default */
326fba82eb7SSuman Anna #define DRA7_IVA_OPP	OPP_NOM
327fba82eb7SSuman Anna #endif
328fba82eb7SSuman Anna 
329fba82eb7SSuman Anna #if defined(CONFIG_DRA7_GPU_OPP_HIGH)
330fba82eb7SSuman Anna #define DRA7_GPU_OPP	OPP_HIGH
331fba82eb7SSuman Anna #elif defined(CONFIG_DRA7_GPU_OPP_OD)
332fba82eb7SSuman Anna #define DRA7_GPU_OPP	OPP_OD
333fba82eb7SSuman Anna #else /* OPP_NOM default */
334fba82eb7SSuman Anna #define DRA7_GPU_OPP	OPP_NOM
335fba82eb7SSuman Anna #endif
33627c9596fSAnna, Suman 
337af1d002fSLokesh Vutla /* Standard offset is 0.5v expressed in uv */
338af1d002fSLokesh Vutla #define PALMAS_SMPS_BASE_VOLT_UV 500000
339af1d002fSLokesh Vutla 
340f56e6350SKeerthy /* Offset is 0.73V for LP873x */
341f56e6350SKeerthy #define LP873X_BUCK_BASE_VOLT_UV		730000
342f56e6350SKeerthy 
34363fc0c77SLokesh Vutla /* TPS659038 */
34463fc0c77SLokesh Vutla #define TPS659038_I2C_SLAVE_ADDR		0x58
345c27cd33bSFelipe Balbi #define TPS659038_REG_ADDR_SMPS12		0x23
346c27cd33bSFelipe Balbi #define TPS659038_REG_ADDR_SMPS45		0x2B
347c27cd33bSFelipe Balbi #define TPS659038_REG_ADDR_SMPS6		0x2F
348c27cd33bSFelipe Balbi #define TPS659038_REG_ADDR_SMPS7		0x33
349c27cd33bSFelipe Balbi #define TPS659038_REG_ADDR_SMPS8		0x37
35063fc0c77SLokesh Vutla 
351b558af81SLubomir Popov /* TPS65917 */
352b558af81SLubomir Popov #define TPS65917_I2C_SLAVE_ADDR		0x58
353b558af81SLubomir Popov #define TPS65917_REG_ADDR_SMPS1		0x23
354b558af81SLubomir Popov #define TPS65917_REG_ADDR_SMPS2		0x27
355b558af81SLubomir Popov #define TPS65917_REG_ADDR_SMPS3		0x2F
356b558af81SLubomir Popov 
357f56e6350SKeerthy /* LP873X */
358f56e6350SKeerthy #define LP873X_I2C_SLAVE_ADDR		0x60
359f56e6350SKeerthy #define LP873X_REG_ADDR_BUCK0		0x6
360f56e6350SKeerthy #define LP873X_REG_ADDR_BUCK1		0x7
361f56e6350SKeerthy #define LP873X_REG_ADDR_LDO1		0xA
362b558af81SLubomir Popov 
363af1d002fSLokesh Vutla /* TPS */
364af1d002fSLokesh Vutla #define TPS62361_I2C_SLAVE_ADDR		0x60
365af1d002fSLokesh Vutla #define TPS62361_REG_ADDR_SET0		0x0
366af1d002fSLokesh Vutla #define TPS62361_REG_ADDR_SET1		0x1
367af1d002fSLokesh Vutla #define TPS62361_REG_ADDR_SET2		0x2
368af1d002fSLokesh Vutla #define TPS62361_REG_ADDR_SET3		0x3
369af1d002fSLokesh Vutla #define TPS62361_REG_ADDR_CTRL		0x4
370af1d002fSLokesh Vutla #define TPS62361_REG_ADDR_TEMP		0x5
371af1d002fSLokesh Vutla #define TPS62361_REG_ADDR_RMP_CTRL	0x6
372af1d002fSLokesh Vutla #define TPS62361_REG_ADDR_CHIP_ID	0x8
373af1d002fSLokesh Vutla #define TPS62361_REG_ADDR_CHIP_ID_2	0x9
374af1d002fSLokesh Vutla 
375af1d002fSLokesh Vutla #define TPS62361_BASE_VOLT_MV	500
376af1d002fSLokesh Vutla #define TPS62361_VSEL0_GPIO	7
377af1d002fSLokesh Vutla 
378ee28edacSLubomir Popov /* Defines for DPLL setup */
379ee28edacSLubomir Popov #define DPLL_LOCKED_FREQ_TOLERANCE_0		0
380ee28edacSLubomir Popov #define DPLL_LOCKED_FREQ_TOLERANCE_500_KHZ	500
381ee28edacSLubomir Popov #define DPLL_LOCKED_FREQ_TOLERANCE_1_MHZ	1000
382ee28edacSLubomir Popov 
383af1d002fSLokesh Vutla #define DPLL_NO_LOCK	0
384af1d002fSLokesh Vutla #define DPLL_LOCK	1
385af1d002fSLokesh Vutla 
3863891a54fSNishanth Menon #if defined(CONFIG_DRA7XX)
387f9b814a8SSricharan R #define V_OSCK			20000000	/* Clock output from T2 */
388f9b814a8SSricharan R #else
389f9b814a8SSricharan R #define V_OSCK			19200000	/* Clock output from T2 */
390f9b814a8SSricharan R #endif
391f9b814a8SSricharan R 
392f9b814a8SSricharan R #define V_SCLK	V_OSCK
393ee28edacSLubomir Popov 
394d57b649eSDmitry Lifshitz /* CKO buffer control */
395d57b649eSDmitry Lifshitz #define CKOBUFFER_CLK_ENABLE_MASK	(1 << 28)
396d57b649eSDmitry Lifshitz 
397ee28edacSLubomir Popov /* AUXCLKx reg fields */
398ee28edacSLubomir Popov #define AUXCLK_ENABLE_MASK		(1 << 8)
399ee28edacSLubomir Popov #define AUXCLK_SRCSELECT_SHIFT		1
400ee28edacSLubomir Popov #define AUXCLK_SRCSELECT_MASK		(3 << 1)
401ee28edacSLubomir Popov #define AUXCLK_CLKDIV_SHIFT		16
402ee28edacSLubomir Popov #define AUXCLK_CLKDIV_MASK		(0xF << 16)
403ee28edacSLubomir Popov 
404ee28edacSLubomir Popov #define AUXCLK_SRCSELECT_SYS_CLK	0
405ee28edacSLubomir Popov #define AUXCLK_SRCSELECT_CORE_DPLL	1
406ee28edacSLubomir Popov #define AUXCLK_SRCSELECT_PER_DPLL	2
407ee28edacSLubomir Popov #define AUXCLK_SRCSELECT_ALTERNATE	3
408ee28edacSLubomir Popov 
409af1d002fSLokesh Vutla #endif /* _CLOCKS_OMAP5_H_ */
410