xref: /optee_os/core/arch/arm/plat-imx/registers/imx8m-crm.h (revision a9edcef35ea29eab1411a505ab04af95c0a861ed)
178b3ea9cSJorge Ramirez-Ortiz /* SPDX-License-Identifier: BSD-2-Clause */
278b3ea9cSJorge Ramirez-Ortiz /*
378b3ea9cSJorge Ramirez-Ortiz  * Copyright 2020 Foundries Ltd
478b3ea9cSJorge Ramirez-Ortiz  */
578b3ea9cSJorge Ramirez-Ortiz 
678b3ea9cSJorge Ramirez-Ortiz #ifndef __IMX8M_CRM_H
778b3ea9cSJorge Ramirez-Ortiz #define __IMX8M_CRM_H
878b3ea9cSJorge Ramirez-Ortiz 
978b3ea9cSJorge Ramirez-Ortiz /* CCGRx Registers (Clock Gating) */
1078b3ea9cSJorge Ramirez-Ortiz #define CCM_CCGR0		0x4000
1178b3ea9cSJorge Ramirez-Ortiz #define CCM_CCGRx_OFFSET	0x10
1278b3ea9cSJorge Ramirez-Ortiz #define CCM_CCGRx(idx)		(((idx) * CCM_CCGRx_OFFSET) + CCM_CCGR0)
1378b3ea9cSJorge Ramirez-Ortiz #define CCM_CCGRx_SET(idx)	(CCM_CCGRx(idx) + 0x4)
1478b3ea9cSJorge Ramirez-Ortiz #define CCM_CCGRx_CLR(idx)	(CCM_CCGRx(idx) + 0x8)
1578b3ea9cSJorge Ramirez-Ortiz #define CCM_CCGRx_TOG(idx)	(CCM_CCGRx(idx) + 0xC)
1678b3ea9cSJorge Ramirez-Ortiz 
1778b3ea9cSJorge Ramirez-Ortiz #define BS_CCM_CCGRx_SETTING(idx)	((idx) * 4)
1878b3ea9cSJorge Ramirez-Ortiz #define BM_CCM_CCGRx_SETTING(idx)	\
1978b3ea9cSJorge Ramirez-Ortiz 			SHIFT_U32(0x3, BS_CCM_CCGRx_SETTING(idx))
2078b3ea9cSJorge Ramirez-Ortiz #define CCM_CCGRx_DISABLE(idx)		\
2178b3ea9cSJorge Ramirez-Ortiz 			SHIFT_U32(0, BS_CCM_CCGRx_SETTING(idx))
2278b3ea9cSJorge Ramirez-Ortiz #define CCM_CCGRx_RUN(idx)		\
2378b3ea9cSJorge Ramirez-Ortiz 			BIT32(BS_CCM_CCGRx_SETTING(idx))
2478b3ea9cSJorge Ramirez-Ortiz #define CCM_CCGRx_RUN_WAIT(idx)		\
2578b3ea9cSJorge Ramirez-Ortiz 			SHIFT_U32(0x2, BS_CCM_CCGRx_SETTING(idx))
2678b3ea9cSJorge Ramirez-Ortiz #define CCM_CCGRx_ALWAYS_ON(idx)	\
2778b3ea9cSJorge Ramirez-Ortiz 			SHIFT_U32(0x3, BS_CCM_CCGRx_SETTING(idx))
2878b3ea9cSJorge Ramirez-Ortiz 
2978b3ea9cSJorge Ramirez-Ortiz #define CCM_CCRG_I2C1		23
3078b3ea9cSJorge Ramirez-Ortiz #define CCM_CCRG_I2C2		24
3178b3ea9cSJorge Ramirez-Ortiz #define CCM_CCRG_I2C3		25
323d72b012SDevendra Devadiga #define CCM_CCRG_I2C4		26
33e4ca953cSClement Faure #define CCM_CCRG_OCOTP		34
3478b3ea9cSJorge Ramirez-Ortiz 
35*a9edcef3SVanessa Maegima #if defined(CFG_MX8MP)
36*a9edcef3SVanessa Maegima #define CCM_CCRG_I2C5		51
37*a9edcef3SVanessa Maegima #define CCM_CCRG_I2C6		52
38*a9edcef3SVanessa Maegima #endif
39*a9edcef3SVanessa Maegima 
4078b3ea9cSJorge Ramirez-Ortiz #endif  /* __IMX8M_CRM_H */
41