1 /* $NetBSD: am4.h,v 1.1.1.2 2019/01/22 14:57:02 jmcneill Exp $ */ 2 3 /* 4 * Copyright 2017 Texas Instruments, Inc. 5 * 6 * This software is licensed under the terms of the GNU General Public 7 * License version 2, as published by the Free Software Foundation, and 8 * may be copied, distributed, and modified under those terms. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 */ 15 #ifndef __DT_BINDINGS_CLK_AM4_H 16 #define __DT_BINDINGS_CLK_AM4_H 17 18 #define AM4_CLKCTRL_OFFSET 0x20 19 #define AM4_CLKCTRL_INDEX(offset) ((offset) - AM4_CLKCTRL_OFFSET) 20 21 /* XXX: Compatibility part begin, remove this once compatibility support is no longer needed */ 22 23 /* l4_wkup clocks */ 24 #define AM4_ADC_TSC_CLKCTRL AM4_CLKCTRL_INDEX(0x120) 25 #define AM4_L4_WKUP_CLKCTRL AM4_CLKCTRL_INDEX(0x220) 26 #define AM4_WKUP_M3_CLKCTRL AM4_CLKCTRL_INDEX(0x228) 27 #define AM4_COUNTER_32K_CLKCTRL AM4_CLKCTRL_INDEX(0x230) 28 #define AM4_TIMER1_CLKCTRL AM4_CLKCTRL_INDEX(0x328) 29 #define AM4_WD_TIMER2_CLKCTRL AM4_CLKCTRL_INDEX(0x338) 30 #define AM4_I2C1_CLKCTRL AM4_CLKCTRL_INDEX(0x340) 31 #define AM4_UART1_CLKCTRL AM4_CLKCTRL_INDEX(0x348) 32 #define AM4_SMARTREFLEX0_CLKCTRL AM4_CLKCTRL_INDEX(0x350) 33 #define AM4_SMARTREFLEX1_CLKCTRL AM4_CLKCTRL_INDEX(0x358) 34 #define AM4_CONTROL_CLKCTRL AM4_CLKCTRL_INDEX(0x360) 35 #define AM4_GPIO1_CLKCTRL AM4_CLKCTRL_INDEX(0x368) 36 37 /* mpu clocks */ 38 #define AM4_MPU_CLKCTRL AM4_CLKCTRL_INDEX(0x20) 39 40 /* gfx_l3 clocks */ 41 #define AM4_GFX_CLKCTRL AM4_CLKCTRL_INDEX(0x20) 42 43 /* l4_rtc clocks */ 44 #define AM4_RTC_CLKCTRL AM4_CLKCTRL_INDEX(0x20) 45 46 /* l4_per clocks */ 47 #define AM4_L3_MAIN_CLKCTRL AM4_CLKCTRL_INDEX(0x20) 48 #define AM4_AES_CLKCTRL AM4_CLKCTRL_INDEX(0x28) 49 #define AM4_DES_CLKCTRL AM4_CLKCTRL_INDEX(0x30) 50 #define AM4_L3_INSTR_CLKCTRL AM4_CLKCTRL_INDEX(0x40) 51 #define AM4_OCMCRAM_CLKCTRL AM4_CLKCTRL_INDEX(0x50) 52 #define AM4_SHAM_CLKCTRL AM4_CLKCTRL_INDEX(0x58) 53 #define AM4_VPFE0_CLKCTRL AM4_CLKCTRL_INDEX(0x68) 54 #define AM4_VPFE1_CLKCTRL AM4_CLKCTRL_INDEX(0x70) 55 #define AM4_TPCC_CLKCTRL AM4_CLKCTRL_INDEX(0x78) 56 #define AM4_TPTC0_CLKCTRL AM4_CLKCTRL_INDEX(0x80) 57 #define AM4_TPTC1_CLKCTRL AM4_CLKCTRL_INDEX(0x88) 58 #define AM4_TPTC2_CLKCTRL AM4_CLKCTRL_INDEX(0x90) 59 #define AM4_L4_HS_CLKCTRL AM4_CLKCTRL_INDEX(0xa0) 60 #define AM4_GPMC_CLKCTRL AM4_CLKCTRL_INDEX(0x220) 61 #define AM4_MCASP0_CLKCTRL AM4_CLKCTRL_INDEX(0x238) 62 #define AM4_MCASP1_CLKCTRL AM4_CLKCTRL_INDEX(0x240) 63 #define AM4_MMC3_CLKCTRL AM4_CLKCTRL_INDEX(0x248) 64 #define AM4_QSPI_CLKCTRL AM4_CLKCTRL_INDEX(0x258) 65 #define AM4_USB_OTG_SS0_CLKCTRL AM4_CLKCTRL_INDEX(0x260) 66 #define AM4_USB_OTG_SS1_CLKCTRL AM4_CLKCTRL_INDEX(0x268) 67 #define AM4_PRUSS_CLKCTRL AM4_CLKCTRL_INDEX(0x320) 68 #define AM4_L4_LS_CLKCTRL AM4_CLKCTRL_INDEX(0x420) 69 #define AM4_D_CAN0_CLKCTRL AM4_CLKCTRL_INDEX(0x428) 70 #define AM4_D_CAN1_CLKCTRL AM4_CLKCTRL_INDEX(0x430) 71 #define AM4_EPWMSS0_CLKCTRL AM4_CLKCTRL_INDEX(0x438) 72 #define AM4_EPWMSS1_CLKCTRL AM4_CLKCTRL_INDEX(0x440) 73 #define AM4_EPWMSS2_CLKCTRL AM4_CLKCTRL_INDEX(0x448) 74 #define AM4_EPWMSS3_CLKCTRL AM4_CLKCTRL_INDEX(0x450) 75 #define AM4_EPWMSS4_CLKCTRL AM4_CLKCTRL_INDEX(0x458) 76 #define AM4_EPWMSS5_CLKCTRL AM4_CLKCTRL_INDEX(0x460) 77 #define AM4_ELM_CLKCTRL AM4_CLKCTRL_INDEX(0x468) 78 #define AM4_GPIO2_CLKCTRL AM4_CLKCTRL_INDEX(0x478) 79 #define AM4_GPIO3_CLKCTRL AM4_CLKCTRL_INDEX(0x480) 80 #define AM4_GPIO4_CLKCTRL AM4_CLKCTRL_INDEX(0x488) 81 #define AM4_GPIO5_CLKCTRL AM4_CLKCTRL_INDEX(0x490) 82 #define AM4_GPIO6_CLKCTRL AM4_CLKCTRL_INDEX(0x498) 83 #define AM4_HDQ1W_CLKCTRL AM4_CLKCTRL_INDEX(0x4a0) 84 #define AM4_I2C2_CLKCTRL AM4_CLKCTRL_INDEX(0x4a8) 85 #define AM4_I2C3_CLKCTRL AM4_CLKCTRL_INDEX(0x4b0) 86 #define AM4_MAILBOX_CLKCTRL AM4_CLKCTRL_INDEX(0x4b8) 87 #define AM4_MMC1_CLKCTRL AM4_CLKCTRL_INDEX(0x4c0) 88 #define AM4_MMC2_CLKCTRL AM4_CLKCTRL_INDEX(0x4c8) 89 #define AM4_RNG_CLKCTRL AM4_CLKCTRL_INDEX(0x4e0) 90 #define AM4_SPI0_CLKCTRL AM4_CLKCTRL_INDEX(0x500) 91 #define AM4_SPI1_CLKCTRL AM4_CLKCTRL_INDEX(0x508) 92 #define AM4_SPI2_CLKCTRL AM4_CLKCTRL_INDEX(0x510) 93 #define AM4_SPI3_CLKCTRL AM4_CLKCTRL_INDEX(0x518) 94 #define AM4_SPI4_CLKCTRL AM4_CLKCTRL_INDEX(0x520) 95 #define AM4_SPINLOCK_CLKCTRL AM4_CLKCTRL_INDEX(0x528) 96 #define AM4_TIMER2_CLKCTRL AM4_CLKCTRL_INDEX(0x530) 97 #define AM4_TIMER3_CLKCTRL AM4_CLKCTRL_INDEX(0x538) 98 #define AM4_TIMER4_CLKCTRL AM4_CLKCTRL_INDEX(0x540) 99 #define AM4_TIMER5_CLKCTRL AM4_CLKCTRL_INDEX(0x548) 100 #define AM4_TIMER6_CLKCTRL AM4_CLKCTRL_INDEX(0x550) 101 #define AM4_TIMER7_CLKCTRL AM4_CLKCTRL_INDEX(0x558) 102 #define AM4_TIMER8_CLKCTRL AM4_CLKCTRL_INDEX(0x560) 103 #define AM4_TIMER9_CLKCTRL AM4_CLKCTRL_INDEX(0x568) 104 #define AM4_TIMER10_CLKCTRL AM4_CLKCTRL_INDEX(0x570) 105 #define AM4_TIMER11_CLKCTRL AM4_CLKCTRL_INDEX(0x578) 106 #define AM4_UART2_CLKCTRL AM4_CLKCTRL_INDEX(0x580) 107 #define AM4_UART3_CLKCTRL AM4_CLKCTRL_INDEX(0x588) 108 #define AM4_UART4_CLKCTRL AM4_CLKCTRL_INDEX(0x590) 109 #define AM4_UART5_CLKCTRL AM4_CLKCTRL_INDEX(0x598) 110 #define AM4_UART6_CLKCTRL AM4_CLKCTRL_INDEX(0x5a0) 111 #define AM4_OCP2SCP0_CLKCTRL AM4_CLKCTRL_INDEX(0x5b8) 112 #define AM4_OCP2SCP1_CLKCTRL AM4_CLKCTRL_INDEX(0x5c0) 113 #define AM4_EMIF_CLKCTRL AM4_CLKCTRL_INDEX(0x720) 114 #define AM4_DSS_CORE_CLKCTRL AM4_CLKCTRL_INDEX(0xa20) 115 #define AM4_CPGMAC0_CLKCTRL AM4_CLKCTRL_INDEX(0xb20) 116 117 /* XXX: Compatibility part end. */ 118 119 /* l3s_tsc clocks */ 120 #define AM4_L3S_TSC_CLKCTRL_OFFSET 0x120 121 #define AM4_L3S_TSC_CLKCTRL_INDEX(offset) ((offset) - AM4_L3S_TSC_CLKCTRL_OFFSET) 122 #define AM4_L3S_TSC_ADC_TSC_CLKCTRL AM4_L3S_TSC_CLKCTRL_INDEX(0x120) 123 124 /* l4_wkup_aon clocks */ 125 #define AM4_L4_WKUP_AON_CLKCTRL_OFFSET 0x228 126 #define AM4_L4_WKUP_AON_CLKCTRL_INDEX(offset) ((offset) - AM4_L4_WKUP_AON_CLKCTRL_OFFSET) 127 #define AM4_L4_WKUP_AON_WKUP_M3_CLKCTRL AM4_L4_WKUP_AON_CLKCTRL_INDEX(0x228) 128 #define AM4_L4_WKUP_AON_COUNTER_32K_CLKCTRL AM4_L4_WKUP_AON_CLKCTRL_INDEX(0x230) 129 130 /* l4_wkup clocks */ 131 #define AM4_L4_WKUP_CLKCTRL_OFFSET 0x220 132 #define AM4_L4_WKUP_CLKCTRL_INDEX(offset) ((offset) - AM4_L4_WKUP_CLKCTRL_OFFSET) 133 #define AM4_L4_WKUP_L4_WKUP_CLKCTRL AM4_L4_WKUP_CLKCTRL_INDEX(0x220) 134 #define AM4_L4_WKUP_TIMER1_CLKCTRL AM4_L4_WKUP_CLKCTRL_INDEX(0x328) 135 #define AM4_L4_WKUP_WD_TIMER2_CLKCTRL AM4_L4_WKUP_CLKCTRL_INDEX(0x338) 136 #define AM4_L4_WKUP_I2C1_CLKCTRL AM4_L4_WKUP_CLKCTRL_INDEX(0x340) 137 #define AM4_L4_WKUP_UART1_CLKCTRL AM4_L4_WKUP_CLKCTRL_INDEX(0x348) 138 #define AM4_L4_WKUP_SMARTREFLEX0_CLKCTRL AM4_L4_WKUP_CLKCTRL_INDEX(0x350) 139 #define AM4_L4_WKUP_SMARTREFLEX1_CLKCTRL AM4_L4_WKUP_CLKCTRL_INDEX(0x358) 140 #define AM4_L4_WKUP_CONTROL_CLKCTRL AM4_L4_WKUP_CLKCTRL_INDEX(0x360) 141 #define AM4_L4_WKUP_GPIO1_CLKCTRL AM4_L4_WKUP_CLKCTRL_INDEX(0x368) 142 143 /* mpu clocks */ 144 #define AM4_MPU_MPU_CLKCTRL AM4_CLKCTRL_INDEX(0x20) 145 146 /* gfx_l3 clocks */ 147 #define AM4_GFX_L3_GFX_CLKCTRL AM4_CLKCTRL_INDEX(0x20) 148 149 /* l4_rtc clocks */ 150 #define AM4_L4_RTC_RTC_CLKCTRL AM4_CLKCTRL_INDEX(0x20) 151 152 /* l3 clocks */ 153 #define AM4_L3_L3_MAIN_CLKCTRL AM4_CLKCTRL_INDEX(0x20) 154 #define AM4_L3_AES_CLKCTRL AM4_CLKCTRL_INDEX(0x28) 155 #define AM4_L3_DES_CLKCTRL AM4_CLKCTRL_INDEX(0x30) 156 #define AM4_L3_L3_INSTR_CLKCTRL AM4_CLKCTRL_INDEX(0x40) 157 #define AM4_L3_OCMCRAM_CLKCTRL AM4_CLKCTRL_INDEX(0x50) 158 #define AM4_L3_SHAM_CLKCTRL AM4_CLKCTRL_INDEX(0x58) 159 #define AM4_L3_TPCC_CLKCTRL AM4_CLKCTRL_INDEX(0x78) 160 #define AM4_L3_TPTC0_CLKCTRL AM4_CLKCTRL_INDEX(0x80) 161 #define AM4_L3_TPTC1_CLKCTRL AM4_CLKCTRL_INDEX(0x88) 162 #define AM4_L3_TPTC2_CLKCTRL AM4_CLKCTRL_INDEX(0x90) 163 #define AM4_L3_L4_HS_CLKCTRL AM4_CLKCTRL_INDEX(0xa0) 164 165 /* l3s clocks */ 166 #define AM4_L3S_CLKCTRL_OFFSET 0x68 167 #define AM4_L3S_CLKCTRL_INDEX(offset) ((offset) - AM4_L3S_CLKCTRL_OFFSET) 168 #define AM4_L3S_VPFE0_CLKCTRL AM4_L3S_CLKCTRL_INDEX(0x68) 169 #define AM4_L3S_VPFE1_CLKCTRL AM4_L3S_CLKCTRL_INDEX(0x70) 170 #define AM4_L3S_GPMC_CLKCTRL AM4_L3S_CLKCTRL_INDEX(0x220) 171 #define AM4_L3S_MCASP0_CLKCTRL AM4_L3S_CLKCTRL_INDEX(0x238) 172 #define AM4_L3S_MCASP1_CLKCTRL AM4_L3S_CLKCTRL_INDEX(0x240) 173 #define AM4_L3S_MMC3_CLKCTRL AM4_L3S_CLKCTRL_INDEX(0x248) 174 #define AM4_L3S_QSPI_CLKCTRL AM4_L3S_CLKCTRL_INDEX(0x258) 175 #define AM4_L3S_USB_OTG_SS0_CLKCTRL AM4_L3S_CLKCTRL_INDEX(0x260) 176 #define AM4_L3S_USB_OTG_SS1_CLKCTRL AM4_L3S_CLKCTRL_INDEX(0x268) 177 178 /* pruss_ocp clocks */ 179 #define AM4_PRUSS_OCP_CLKCTRL_OFFSET 0x320 180 #define AM4_PRUSS_OCP_CLKCTRL_INDEX(offset) ((offset) - AM4_PRUSS_OCP_CLKCTRL_OFFSET) 181 #define AM4_PRUSS_OCP_PRUSS_CLKCTRL AM4_PRUSS_OCP_CLKCTRL_INDEX(0x320) 182 183 /* l4ls clocks */ 184 #define AM4_L4LS_CLKCTRL_OFFSET 0x420 185 #define AM4_L4LS_CLKCTRL_INDEX(offset) ((offset) - AM4_L4LS_CLKCTRL_OFFSET) 186 #define AM4_L4LS_L4_LS_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x420) 187 #define AM4_L4LS_D_CAN0_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x428) 188 #define AM4_L4LS_D_CAN1_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x430) 189 #define AM4_L4LS_EPWMSS0_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x438) 190 #define AM4_L4LS_EPWMSS1_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x440) 191 #define AM4_L4LS_EPWMSS2_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x448) 192 #define AM4_L4LS_EPWMSS3_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x450) 193 #define AM4_L4LS_EPWMSS4_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x458) 194 #define AM4_L4LS_EPWMSS5_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x460) 195 #define AM4_L4LS_ELM_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x468) 196 #define AM4_L4LS_GPIO2_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x478) 197 #define AM4_L4LS_GPIO3_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x480) 198 #define AM4_L4LS_GPIO4_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x488) 199 #define AM4_L4LS_GPIO5_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x490) 200 #define AM4_L4LS_GPIO6_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x498) 201 #define AM4_L4LS_HDQ1W_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x4a0) 202 #define AM4_L4LS_I2C2_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x4a8) 203 #define AM4_L4LS_I2C3_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x4b0) 204 #define AM4_L4LS_MAILBOX_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x4b8) 205 #define AM4_L4LS_MMC1_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x4c0) 206 #define AM4_L4LS_MMC2_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x4c8) 207 #define AM4_L4LS_RNG_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x4e0) 208 #define AM4_L4LS_SPI0_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x500) 209 #define AM4_L4LS_SPI1_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x508) 210 #define AM4_L4LS_SPI2_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x510) 211 #define AM4_L4LS_SPI3_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x518) 212 #define AM4_L4LS_SPI4_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x520) 213 #define AM4_L4LS_SPINLOCK_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x528) 214 #define AM4_L4LS_TIMER2_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x530) 215 #define AM4_L4LS_TIMER3_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x538) 216 #define AM4_L4LS_TIMER4_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x540) 217 #define AM4_L4LS_TIMER5_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x548) 218 #define AM4_L4LS_TIMER6_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x550) 219 #define AM4_L4LS_TIMER7_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x558) 220 #define AM4_L4LS_TIMER8_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x560) 221 #define AM4_L4LS_TIMER9_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x568) 222 #define AM4_L4LS_TIMER10_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x570) 223 #define AM4_L4LS_TIMER11_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x578) 224 #define AM4_L4LS_UART2_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x580) 225 #define AM4_L4LS_UART3_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x588) 226 #define AM4_L4LS_UART4_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x590) 227 #define AM4_L4LS_UART5_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x598) 228 #define AM4_L4LS_UART6_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x5a0) 229 #define AM4_L4LS_OCP2SCP0_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x5b8) 230 #define AM4_L4LS_OCP2SCP1_CLKCTRL AM4_L4LS_CLKCTRL_INDEX(0x5c0) 231 232 /* emif clocks */ 233 #define AM4_EMIF_CLKCTRL_OFFSET 0x720 234 #define AM4_EMIF_CLKCTRL_INDEX(offset) ((offset) - AM4_EMIF_CLKCTRL_OFFSET) 235 #define AM4_EMIF_EMIF_CLKCTRL AM4_EMIF_CLKCTRL_INDEX(0x720) 236 237 /* dss clocks */ 238 #define AM4_DSS_CLKCTRL_OFFSET 0xa20 239 #define AM4_DSS_CLKCTRL_INDEX(offset) ((offset) - AM4_DSS_CLKCTRL_OFFSET) 240 #define AM4_DSS_DSS_CORE_CLKCTRL AM4_DSS_CLKCTRL_INDEX(0xa20) 241 242 /* cpsw_125mhz clocks */ 243 #define AM4_CPSW_125MHZ_CLKCTRL_OFFSET 0xb20 244 #define AM4_CPSW_125MHZ_CLKCTRL_INDEX(offset) ((offset) - AM4_CPSW_125MHZ_CLKCTRL_OFFSET) 245 #define AM4_CPSW_125MHZ_CPGMAC0_CLKCTRL AM4_CPSW_125MHZ_CLKCTRL_INDEX(0xb20) 246 247 #endif 248