1 /* SPDX-License-Identifier: BSD-2-Clause */ 2 /* 3 * Copyright 2020 Foundries Ltd 4 */ 5 6 #ifndef __IMX8M_CRM_H 7 #define __IMX8M_CRM_H 8 9 /* CCGRx Registers (Clock Gating) */ 10 #define CCM_CCGR0 0x4000 11 #define CCM_CCGRx_OFFSET 0x10 12 #define CCM_CCGRx(idx) (((idx) * CCM_CCGRx_OFFSET) + CCM_CCGR0) 13 #define CCM_CCGRx_SET(idx) (CCM_CCGRx(idx) + 0x4) 14 #define CCM_CCGRx_CLR(idx) (CCM_CCGRx(idx) + 0x8) 15 #define CCM_CCGRx_TOG(idx) (CCM_CCGRx(idx) + 0xC) 16 17 #define BS_CCM_CCGRx_SETTING(idx) ((idx) * 4) 18 #define BM_CCM_CCGRx_SETTING(idx) \ 19 SHIFT_U32(0x3, BS_CCM_CCGRx_SETTING(idx)) 20 #define CCM_CCGRx_DISABLE(idx) \ 21 SHIFT_U32(0, BS_CCM_CCGRx_SETTING(idx)) 22 #define CCM_CCGRx_RUN(idx) \ 23 BIT32(BS_CCM_CCGRx_SETTING(idx)) 24 #define CCM_CCGRx_RUN_WAIT(idx) \ 25 SHIFT_U32(0x2, BS_CCM_CCGRx_SETTING(idx)) 26 #define CCM_CCGRx_ALWAYS_ON(idx) \ 27 SHIFT_U32(0x3, BS_CCM_CCGRx_SETTING(idx)) 28 29 #define CCM_CCRG_I2C1 23 30 #define CCM_CCRG_I2C2 24 31 #define CCM_CCRG_I2C3 25 32 #define CCM_CCRG_I2C4 26 33 #define CCM_CCRG_OCOTP 34 34 35 #if defined(CFG_MX8MP) 36 #define CCM_CCRG_I2C5 51 37 #define CCM_CCRG_I2C6 52 38 #endif 39 40 #endif /* __IMX8M_CRM_H */ 41