1*c66ec88fSEmmanuel Vadot /* SPDX-License-Identifier: GPL-2.0-only */ 2*c66ec88fSEmmanuel Vadot /* 3*c66ec88fSEmmanuel Vadot * Copyright 2017 Texas Instruments, Inc. 4*c66ec88fSEmmanuel Vadot */ 5*c66ec88fSEmmanuel Vadot #ifndef __DT_BINDINGS_CLK_OMAP4_H 6*c66ec88fSEmmanuel Vadot #define __DT_BINDINGS_CLK_OMAP4_H 7*c66ec88fSEmmanuel Vadot 8*c66ec88fSEmmanuel Vadot #define OMAP4_CLKCTRL_OFFSET 0x20 9*c66ec88fSEmmanuel Vadot #define OMAP4_CLKCTRL_INDEX(offset) ((offset) - OMAP4_CLKCTRL_OFFSET) 10*c66ec88fSEmmanuel Vadot 11*c66ec88fSEmmanuel Vadot /* mpuss clocks */ 12*c66ec88fSEmmanuel Vadot #define OMAP4_MPU_CLKCTRL OMAP4_CLKCTRL_INDEX(0x20) 13*c66ec88fSEmmanuel Vadot 14*c66ec88fSEmmanuel Vadot /* tesla clocks */ 15*c66ec88fSEmmanuel Vadot #define OMAP4_DSP_CLKCTRL OMAP4_CLKCTRL_INDEX(0x20) 16*c66ec88fSEmmanuel Vadot 17*c66ec88fSEmmanuel Vadot /* abe clocks */ 18*c66ec88fSEmmanuel Vadot #define OMAP4_L4_ABE_CLKCTRL OMAP4_CLKCTRL_INDEX(0x20) 19*c66ec88fSEmmanuel Vadot #define OMAP4_AESS_CLKCTRL OMAP4_CLKCTRL_INDEX(0x28) 20*c66ec88fSEmmanuel Vadot #define OMAP4_MCPDM_CLKCTRL OMAP4_CLKCTRL_INDEX(0x30) 21*c66ec88fSEmmanuel Vadot #define OMAP4_DMIC_CLKCTRL OMAP4_CLKCTRL_INDEX(0x38) 22*c66ec88fSEmmanuel Vadot #define OMAP4_MCASP_CLKCTRL OMAP4_CLKCTRL_INDEX(0x40) 23*c66ec88fSEmmanuel Vadot #define OMAP4_MCBSP1_CLKCTRL OMAP4_CLKCTRL_INDEX(0x48) 24*c66ec88fSEmmanuel Vadot #define OMAP4_MCBSP2_CLKCTRL OMAP4_CLKCTRL_INDEX(0x50) 25*c66ec88fSEmmanuel Vadot #define OMAP4_MCBSP3_CLKCTRL OMAP4_CLKCTRL_INDEX(0x58) 26*c66ec88fSEmmanuel Vadot #define OMAP4_SLIMBUS1_CLKCTRL OMAP4_CLKCTRL_INDEX(0x60) 27*c66ec88fSEmmanuel Vadot #define OMAP4_TIMER5_CLKCTRL OMAP4_CLKCTRL_INDEX(0x68) 28*c66ec88fSEmmanuel Vadot #define OMAP4_TIMER6_CLKCTRL OMAP4_CLKCTRL_INDEX(0x70) 29*c66ec88fSEmmanuel Vadot #define OMAP4_TIMER7_CLKCTRL OMAP4_CLKCTRL_INDEX(0x78) 30*c66ec88fSEmmanuel Vadot #define OMAP4_TIMER8_CLKCTRL OMAP4_CLKCTRL_INDEX(0x80) 31*c66ec88fSEmmanuel Vadot #define OMAP4_WD_TIMER3_CLKCTRL OMAP4_CLKCTRL_INDEX(0x88) 32*c66ec88fSEmmanuel Vadot 33*c66ec88fSEmmanuel Vadot /* l4_ao clocks */ 34*c66ec88fSEmmanuel Vadot #define OMAP4_SMARTREFLEX_MPU_CLKCTRL OMAP4_CLKCTRL_INDEX(0x28) 35*c66ec88fSEmmanuel Vadot #define OMAP4_SMARTREFLEX_IVA_CLKCTRL OMAP4_CLKCTRL_INDEX(0x30) 36*c66ec88fSEmmanuel Vadot #define OMAP4_SMARTREFLEX_CORE_CLKCTRL OMAP4_CLKCTRL_INDEX(0x38) 37*c66ec88fSEmmanuel Vadot 38*c66ec88fSEmmanuel Vadot /* l3_1 clocks */ 39*c66ec88fSEmmanuel Vadot #define OMAP4_L3_MAIN_1_CLKCTRL OMAP4_CLKCTRL_INDEX(0x20) 40*c66ec88fSEmmanuel Vadot 41*c66ec88fSEmmanuel Vadot /* l3_2 clocks */ 42*c66ec88fSEmmanuel Vadot #define OMAP4_L3_MAIN_2_CLKCTRL OMAP4_CLKCTRL_INDEX(0x20) 43*c66ec88fSEmmanuel Vadot #define OMAP4_GPMC_CLKCTRL OMAP4_CLKCTRL_INDEX(0x28) 44*c66ec88fSEmmanuel Vadot #define OMAP4_OCMC_RAM_CLKCTRL OMAP4_CLKCTRL_INDEX(0x30) 45*c66ec88fSEmmanuel Vadot 46*c66ec88fSEmmanuel Vadot /* ducati clocks */ 47*c66ec88fSEmmanuel Vadot #define OMAP4_IPU_CLKCTRL OMAP4_CLKCTRL_INDEX(0x20) 48*c66ec88fSEmmanuel Vadot 49*c66ec88fSEmmanuel Vadot /* l3_dma clocks */ 50*c66ec88fSEmmanuel Vadot #define OMAP4_DMA_SYSTEM_CLKCTRL OMAP4_CLKCTRL_INDEX(0x20) 51*c66ec88fSEmmanuel Vadot 52*c66ec88fSEmmanuel Vadot /* l3_emif clocks */ 53*c66ec88fSEmmanuel Vadot #define OMAP4_DMM_CLKCTRL OMAP4_CLKCTRL_INDEX(0x20) 54*c66ec88fSEmmanuel Vadot #define OMAP4_EMIF1_CLKCTRL OMAP4_CLKCTRL_INDEX(0x30) 55*c66ec88fSEmmanuel Vadot #define OMAP4_EMIF2_CLKCTRL OMAP4_CLKCTRL_INDEX(0x38) 56*c66ec88fSEmmanuel Vadot 57*c66ec88fSEmmanuel Vadot /* d2d clocks */ 58*c66ec88fSEmmanuel Vadot #define OMAP4_C2C_CLKCTRL OMAP4_CLKCTRL_INDEX(0x20) 59*c66ec88fSEmmanuel Vadot 60*c66ec88fSEmmanuel Vadot /* l4_cfg clocks */ 61*c66ec88fSEmmanuel Vadot #define OMAP4_L4_CFG_CLKCTRL OMAP4_CLKCTRL_INDEX(0x20) 62*c66ec88fSEmmanuel Vadot #define OMAP4_SPINLOCK_CLKCTRL OMAP4_CLKCTRL_INDEX(0x28) 63*c66ec88fSEmmanuel Vadot #define OMAP4_MAILBOX_CLKCTRL OMAP4_CLKCTRL_INDEX(0x30) 64*c66ec88fSEmmanuel Vadot 65*c66ec88fSEmmanuel Vadot /* l3_instr clocks */ 66*c66ec88fSEmmanuel Vadot #define OMAP4_L3_MAIN_3_CLKCTRL OMAP4_CLKCTRL_INDEX(0x20) 67*c66ec88fSEmmanuel Vadot #define OMAP4_L3_INSTR_CLKCTRL OMAP4_CLKCTRL_INDEX(0x28) 68*c66ec88fSEmmanuel Vadot #define OMAP4_OCP_WP_NOC_CLKCTRL OMAP4_CLKCTRL_INDEX(0x40) 69*c66ec88fSEmmanuel Vadot 70*c66ec88fSEmmanuel Vadot /* ivahd clocks */ 71*c66ec88fSEmmanuel Vadot #define OMAP4_IVA_CLKCTRL OMAP4_CLKCTRL_INDEX(0x20) 72*c66ec88fSEmmanuel Vadot #define OMAP4_SL2IF_CLKCTRL OMAP4_CLKCTRL_INDEX(0x28) 73*c66ec88fSEmmanuel Vadot 74*c66ec88fSEmmanuel Vadot /* iss clocks */ 75*c66ec88fSEmmanuel Vadot #define OMAP4_ISS_CLKCTRL OMAP4_CLKCTRL_INDEX(0x20) 76*c66ec88fSEmmanuel Vadot #define OMAP4_FDIF_CLKCTRL OMAP4_CLKCTRL_INDEX(0x28) 77*c66ec88fSEmmanuel Vadot 78*c66ec88fSEmmanuel Vadot /* l3_dss clocks */ 79*c66ec88fSEmmanuel Vadot #define OMAP4_DSS_CORE_CLKCTRL OMAP4_CLKCTRL_INDEX(0x20) 80*c66ec88fSEmmanuel Vadot 81*c66ec88fSEmmanuel Vadot /* l3_gfx clocks */ 82*c66ec88fSEmmanuel Vadot #define OMAP4_GPU_CLKCTRL OMAP4_CLKCTRL_INDEX(0x20) 83*c66ec88fSEmmanuel Vadot 84*c66ec88fSEmmanuel Vadot /* l3_init clocks */ 85*c66ec88fSEmmanuel Vadot #define OMAP4_MMC1_CLKCTRL OMAP4_CLKCTRL_INDEX(0x28) 86*c66ec88fSEmmanuel Vadot #define OMAP4_MMC2_CLKCTRL OMAP4_CLKCTRL_INDEX(0x30) 87*c66ec88fSEmmanuel Vadot #define OMAP4_HSI_CLKCTRL OMAP4_CLKCTRL_INDEX(0x38) 88*c66ec88fSEmmanuel Vadot #define OMAP4_USB_HOST_HS_CLKCTRL OMAP4_CLKCTRL_INDEX(0x58) 89*c66ec88fSEmmanuel Vadot #define OMAP4_USB_OTG_HS_CLKCTRL OMAP4_CLKCTRL_INDEX(0x60) 90*c66ec88fSEmmanuel Vadot #define OMAP4_USB_TLL_HS_CLKCTRL OMAP4_CLKCTRL_INDEX(0x68) 91*c66ec88fSEmmanuel Vadot #define OMAP4_USB_HOST_FS_CLKCTRL OMAP4_CLKCTRL_INDEX(0xd0) 92*c66ec88fSEmmanuel Vadot #define OMAP4_OCP2SCP_USB_PHY_CLKCTRL OMAP4_CLKCTRL_INDEX(0xe0) 93*c66ec88fSEmmanuel Vadot 94*c66ec88fSEmmanuel Vadot /* l4_per clocks */ 95*c66ec88fSEmmanuel Vadot #define OMAP4_TIMER10_CLKCTRL OMAP4_CLKCTRL_INDEX(0x28) 96*c66ec88fSEmmanuel Vadot #define OMAP4_TIMER11_CLKCTRL OMAP4_CLKCTRL_INDEX(0x30) 97*c66ec88fSEmmanuel Vadot #define OMAP4_TIMER2_CLKCTRL OMAP4_CLKCTRL_INDEX(0x38) 98*c66ec88fSEmmanuel Vadot #define OMAP4_TIMER3_CLKCTRL OMAP4_CLKCTRL_INDEX(0x40) 99*c66ec88fSEmmanuel Vadot #define OMAP4_TIMER4_CLKCTRL OMAP4_CLKCTRL_INDEX(0x48) 100*c66ec88fSEmmanuel Vadot #define OMAP4_TIMER9_CLKCTRL OMAP4_CLKCTRL_INDEX(0x50) 101*c66ec88fSEmmanuel Vadot #define OMAP4_ELM_CLKCTRL OMAP4_CLKCTRL_INDEX(0x58) 102*c66ec88fSEmmanuel Vadot #define OMAP4_GPIO2_CLKCTRL OMAP4_CLKCTRL_INDEX(0x60) 103*c66ec88fSEmmanuel Vadot #define OMAP4_GPIO3_CLKCTRL OMAP4_CLKCTRL_INDEX(0x68) 104*c66ec88fSEmmanuel Vadot #define OMAP4_GPIO4_CLKCTRL OMAP4_CLKCTRL_INDEX(0x70) 105*c66ec88fSEmmanuel Vadot #define OMAP4_GPIO5_CLKCTRL OMAP4_CLKCTRL_INDEX(0x78) 106*c66ec88fSEmmanuel Vadot #define OMAP4_GPIO6_CLKCTRL OMAP4_CLKCTRL_INDEX(0x80) 107*c66ec88fSEmmanuel Vadot #define OMAP4_HDQ1W_CLKCTRL OMAP4_CLKCTRL_INDEX(0x88) 108*c66ec88fSEmmanuel Vadot #define OMAP4_I2C1_CLKCTRL OMAP4_CLKCTRL_INDEX(0xa0) 109*c66ec88fSEmmanuel Vadot #define OMAP4_I2C2_CLKCTRL OMAP4_CLKCTRL_INDEX(0xa8) 110*c66ec88fSEmmanuel Vadot #define OMAP4_I2C3_CLKCTRL OMAP4_CLKCTRL_INDEX(0xb0) 111*c66ec88fSEmmanuel Vadot #define OMAP4_I2C4_CLKCTRL OMAP4_CLKCTRL_INDEX(0xb8) 112*c66ec88fSEmmanuel Vadot #define OMAP4_L4_PER_CLKCTRL OMAP4_CLKCTRL_INDEX(0xc0) 113*c66ec88fSEmmanuel Vadot #define OMAP4_MCBSP4_CLKCTRL OMAP4_CLKCTRL_INDEX(0xe0) 114*c66ec88fSEmmanuel Vadot #define OMAP4_MCSPI1_CLKCTRL OMAP4_CLKCTRL_INDEX(0xf0) 115*c66ec88fSEmmanuel Vadot #define OMAP4_MCSPI2_CLKCTRL OMAP4_CLKCTRL_INDEX(0xf8) 116*c66ec88fSEmmanuel Vadot #define OMAP4_MCSPI3_CLKCTRL OMAP4_CLKCTRL_INDEX(0x100) 117*c66ec88fSEmmanuel Vadot #define OMAP4_MCSPI4_CLKCTRL OMAP4_CLKCTRL_INDEX(0x108) 118*c66ec88fSEmmanuel Vadot #define OMAP4_MMC3_CLKCTRL OMAP4_CLKCTRL_INDEX(0x120) 119*c66ec88fSEmmanuel Vadot #define OMAP4_MMC4_CLKCTRL OMAP4_CLKCTRL_INDEX(0x128) 120*c66ec88fSEmmanuel Vadot #define OMAP4_SLIMBUS2_CLKCTRL OMAP4_CLKCTRL_INDEX(0x138) 121*c66ec88fSEmmanuel Vadot #define OMAP4_UART1_CLKCTRL OMAP4_CLKCTRL_INDEX(0x140) 122*c66ec88fSEmmanuel Vadot #define OMAP4_UART2_CLKCTRL OMAP4_CLKCTRL_INDEX(0x148) 123*c66ec88fSEmmanuel Vadot #define OMAP4_UART3_CLKCTRL OMAP4_CLKCTRL_INDEX(0x150) 124*c66ec88fSEmmanuel Vadot #define OMAP4_UART4_CLKCTRL OMAP4_CLKCTRL_INDEX(0x158) 125*c66ec88fSEmmanuel Vadot #define OMAP4_MMC5_CLKCTRL OMAP4_CLKCTRL_INDEX(0x160) 126*c66ec88fSEmmanuel Vadot 127*c66ec88fSEmmanuel Vadot /* l4_secure clocks */ 128*c66ec88fSEmmanuel Vadot #define OMAP4_L4_SECURE_CLKCTRL_OFFSET 0x1a0 129*c66ec88fSEmmanuel Vadot #define OMAP4_L4_SECURE_CLKCTRL_INDEX(offset) ((offset) - OMAP4_L4_SECURE_CLKCTRL_OFFSET) 130*c66ec88fSEmmanuel Vadot #define OMAP4_AES1_CLKCTRL OMAP4_L4_SECURE_CLKCTRL_INDEX(0x1a0) 131*c66ec88fSEmmanuel Vadot #define OMAP4_AES2_CLKCTRL OMAP4_L4_SECURE_CLKCTRL_INDEX(0x1a8) 132*c66ec88fSEmmanuel Vadot #define OMAP4_DES3DES_CLKCTRL OMAP4_L4_SECURE_CLKCTRL_INDEX(0x1b0) 133*c66ec88fSEmmanuel Vadot #define OMAP4_PKA_CLKCTRL OMAP4_L4_SECURE_CLKCTRL_INDEX(0x1b8) 134*c66ec88fSEmmanuel Vadot #define OMAP4_RNG_CLKCTRL OMAP4_L4_SECURE_CLKCTRL_INDEX(0x1c0) 135*c66ec88fSEmmanuel Vadot #define OMAP4_SHA2MD5_CLKCTRL OMAP4_L4_SECURE_CLKCTRL_INDEX(0x1c8) 136*c66ec88fSEmmanuel Vadot #define OMAP4_CRYPTODMA_CLKCTRL OMAP4_L4_SECURE_CLKCTRL_INDEX(0x1d8) 137*c66ec88fSEmmanuel Vadot 138*c66ec88fSEmmanuel Vadot /* l4_wkup clocks */ 139*c66ec88fSEmmanuel Vadot #define OMAP4_L4_WKUP_CLKCTRL OMAP4_CLKCTRL_INDEX(0x20) 140*c66ec88fSEmmanuel Vadot #define OMAP4_WD_TIMER2_CLKCTRL OMAP4_CLKCTRL_INDEX(0x30) 141*c66ec88fSEmmanuel Vadot #define OMAP4_GPIO1_CLKCTRL OMAP4_CLKCTRL_INDEX(0x38) 142*c66ec88fSEmmanuel Vadot #define OMAP4_TIMER1_CLKCTRL OMAP4_CLKCTRL_INDEX(0x40) 143*c66ec88fSEmmanuel Vadot #define OMAP4_COUNTER_32K_CLKCTRL OMAP4_CLKCTRL_INDEX(0x50) 144*c66ec88fSEmmanuel Vadot #define OMAP4_KBD_CLKCTRL OMAP4_CLKCTRL_INDEX(0x78) 145*c66ec88fSEmmanuel Vadot 146*c66ec88fSEmmanuel Vadot /* emu_sys clocks */ 147*c66ec88fSEmmanuel Vadot #define OMAP4_DEBUGSS_CLKCTRL OMAP4_CLKCTRL_INDEX(0x20) 148*c66ec88fSEmmanuel Vadot 149*c66ec88fSEmmanuel Vadot #endif 150