/* $NetBSD: mesong12_clkc.h,v 1.2 2024/02/07 04:20:26 msaitoh Exp $ */ /* * Copyright (c) 2021 Ryo Shimizu * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #ifndef _MESONG12_CLKC_H #define _MESONG12_CLKC_H /* * CLOCK IDs. * The values are matched to those in dt-bindings/clock/g12a-clkc.h , * but some are only defined locally. */ #define MESONG12_CLOCK_SYS_PLL 0 #define MESONG12_CLOCK_FIXED_PLL 1 #define MESONG12_CLOCK_FCLK_DIV2 2 #define MESONG12_CLOCK_FCLK_DIV3 3 #define MESONG12_CLOCK_FCLK_DIV4 4 #define MESONG12_CLOCK_FCLK_DIV5 5 #define MESONG12_CLOCK_FCLK_DIV7 6 #define MESONG12_CLOCK_GP0_PLL 7 #define MESONG12_CLOCK_CLK81 10 #define MESONG12_CLOCK_MPLL0 11 #define MESONG12_CLOCK_MPLL1 12 #define MESONG12_CLOCK_MPLL2 13 #define MESONG12_CLOCK_MPLL3 14 #define MESONG12_CLOCK_DDR 15 #define MESONG12_CLOCK_DOS 16 #define MESONG12_CLOCK_AUDIO_LOCKER 17 #define MESONG12_CLOCK_MIPI_DSI_HOST 18 #define MESONG12_CLOCK_ETH_PHY 19 #define MESONG12_CLOCK_ISA 20 #define MESONG12_CLOCK_PL301 21 #define MESONG12_CLOCK_PERIPHS 22 #define MESONG12_CLOCK_SPICC0 23 #define MESONG12_CLOCK_I2C 24 #define MESONG12_CLOCK_SANA 25 #define MESONG12_CLOCK_SD 26 #define MESONG12_CLOCK_RNG0 27 #define MESONG12_CLOCK_UART0 28 #define MESONG12_CLOCK_SPICC1 29 #define MESONG12_CLOCK_HIU_IFACE 30 #define MESONG12_CLOCK_MIPI_DSI_PHY 31 #define MESONG12_CLOCK_ASSIST_MISC 32 #define MESONG12_CLOCK_SD_EMMC_A 33 #define MESONG12_CLOCK_SD_EMMC_B 34 #define MESONG12_CLOCK_SD_EMMC_C 35 #define MESONG12_CLOCK_AUDIO_CODEC 36 #define MESONG12_CLOCK_AUDIO 37 #define MESONG12_CLOCK_ETH 38 #define MESONG12_CLOCK_DEMUX 39 #define MESONG12_CLOCK_AUDIO_IFIFO 40 #define MESONG12_CLOCK_ADC 41 #define MESONG12_CLOCK_UART1 42 #define MESONG12_CLOCK_G2D 43 #define MESONG12_CLOCK_RESET 44 #define MESONG12_CLOCK_PCIE_COMB 45 #define MESONG12_CLOCK_PARSER 46 #define MESONG12_CLOCK_USB 47 #define MESONG12_CLOCK_PCIE_PHY 48 #define MESONG12_CLOCK_AHB_ARB0 49 #define MESONG12_CLOCK_AHB_DATA_BUS 50 #define MESONG12_CLOCK_AHB_CTRL_BUS 51 #define MESONG12_CLOCK_HTX_HDCP22 52 #define MESONG12_CLOCK_HTX_PCLK 53 #define MESONG12_CLOCK_BT656 54 #define MESONG12_CLOCK_USB1_DDR_BRIDGE 55 #define MESONG12_CLOCK_MMC_PCLK 56 #define MESONG12_CLOCK_UART2 57 #define MESONG12_CLOCK_VPU_INTR 58 #define MESONG12_CLOCK_GIC 59 #define MESONG12_CLOCK_SD_EMMC_A_CLK0 60 #define MESONG12_CLOCK_SD_EMMC_B_CLK0 61 #define MESONG12_CLOCK_SD_EMMC_C_CLK0 62 #define MESONG12_CLOCK_HIFI_PLL 74 #define MESONG12_CLOCK_VCLK2_VENCI0 80 #define MESONG12_CLOCK_VCLK2_VENCI1 81 #define MESONG12_CLOCK_VCLK2_VENCP0 82 #define MESONG12_CLOCK_VCLK2_VENCP1 83 #define MESONG12_CLOCK_VCLK2_VENCT0 84 #define MESONG12_CLOCK_VCLK2_VENCT1 85 #define MESONG12_CLOCK_VCLK2_OTHER 86 #define MESONG12_CLOCK_VCLK2_ENCI 87 #define MESONG12_CLOCK_VCLK2_ENCP 88 #define MESONG12_CLOCK_DAC_CLK 89 #define MESONG12_CLOCK_AOCLK 90 #define MESONG12_CLOCK_IEC958 91 #define MESONG12_CLOCK_ENC480P 92 #define MESONG12_CLOCK_RNG1 93 #define MESONG12_CLOCK_VCLK2_ENCT 94 #define MESONG12_CLOCK_VCLK2_ENCL 95 #define MESONG12_CLOCK_VCLK2_VENCLMMC 96 #define MESONG12_CLOCK_VCLK2_VENCL 97 #define MESONG12_CLOCK_VCLK2_OTHER1 98 #define MESONG12_CLOCK_FCLK_DIV2P5 99 #define MESONG12_CLOCK_DMA 105 #define MESONG12_CLOCK_EFUSE 106 #define MESONG12_CLOCK_ROM_BOOT 107 #define MESONG12_CLOCK_RESET_SEC 108 #define MESONG12_CLOCK_SEC_AHB_APB3 109 #define MESONG12_CLOCK_VPU_0_SEL 110 #define MESONG12_CLOCK_VPU_0 112 #define MESONG12_CLOCK_VPU_1_SEL 113 #define MESONG12_CLOCK_VPU_1 115 #define MESONG12_CLOCK_VPU 116 #define MESONG12_CLOCK_VAPB_0_SEL 117 #define MESONG12_CLOCK_VAPB_0 119 #define MESONG12_CLOCK_VAPB_1_SEL 120 #define MESONG12_CLOCK_VAPB_1 122 #define MESONG12_CLOCK_VAPB_SEL 123 #define MESONG12_CLOCK_VAPB 124 #define MESONG12_CLOCK_HDMI_PLL 128 #define MESONG12_CLOCK_VID_PLL 129 #define MESONG12_CLOCK_VCLK 138 #define MESONG12_CLOCK_VCLK2 139 #define MESONG12_CLOCK_VCLK_DIV1 148 #define MESONG12_CLOCK_VCLK_DIV2 149 #define MESONG12_CLOCK_VCLK_DIV4 150 #define MESONG12_CLOCK_VCLK_DIV6 151 #define MESONG12_CLOCK_VCLK_DIV12 152 #define MESONG12_CLOCK_VCLK2_DIV1 153 #define MESONG12_CLOCK_VCLK2_DIV2 154 #define MESONG12_CLOCK_VCLK2_DIV4 155 #define MESONG12_CLOCK_VCLK2_DIV6 156 #define MESONG12_CLOCK_VCLK2_DIV12 157 #define MESONG12_CLOCK_CTS_ENCI 162 #define MESONG12_CLOCK_CTS_ENCP 163 #define MESONG12_CLOCK_CTS_VDAC 164 #define MESONG12_CLOCK_HDMI_TX 165 #define MESONG12_CLOCK_HDMI 168 #define MESONG12_CLOCK_MALI_0_SEL 169 #define MESONG12_CLOCK_MALI_0 171 #define MESONG12_CLOCK_MALI_1_SEL 172 #define MESONG12_CLOCK_MALI_1 174 #define MESONG12_CLOCK_MALI 175 #define MESONG12_CLOCK_MPLL_50M 177 #define MESONG12_CLOCK_CPU_CLK 187 #define MESONG12_CLOCK_PCIE_PLL 201 #define MESONG12_CLOCK_VDEC_1 204 #define MESONG12_CLOCK_VDEC_HEVC 207 #define MESONG12_CLOCK_VDEC_HEVCF 210 #define MESONG12_CLOCK_TS 212 #define MESONG12_CLOCK_CPUB_CLK 224 #define MESONG12_CLOCK_GP1_PLL 243 #define MESONG12_CLOCK_DSU_CLK 252 #define MESONG12_CLOCK_CPU1_CLK 253 #define MESONG12_CLOCK_CPU2_CLK 254 #define MESONG12_CLOCK_CPU3_CLK 255 /* * locally defined */ #define MESONG12_CLOCK_MPEG_SEL 8 #define MESONG12_CLOCK_MPEG_DIV 9 #define MESONG12_CLOCK_SD_EMMC_A_CLK0_SEL 63 #define MESONG12_CLOCK_SD_EMMC_A_CLK0_DIV 64 #define MESONG12_CLOCK_SD_EMMC_B_CLK0_SEL 65 #define MESONG12_CLOCK_SD_EMMC_B_CLK0_DIV 66 #define MESONG12_CLOCK_SD_EMMC_C_CLK0_SEL 67 #define MESONG12_CLOCK_SD_EMMC_C_CLK0_DIV 68 #define MESONG12_CLOCK_MPLL0_DIV 69 #define MESONG12_CLOCK_MPLL1_DIV 70 #define MESONG12_CLOCK_MPLL2_DIV 71 #define MESONG12_CLOCK_MPLL3_DIV 72 #define MESONG12_CLOCK_MPLL_PREDIV 73 #define MESONG12_CLOCK_FCLK_DIV2_DIV 75 #define MESONG12_CLOCK_FCLK_DIV3_DIV 76 #define MESONG12_CLOCK_FCLK_DIV4_DIV 77 #define MESONG12_CLOCK_FCLK_DIV5_DIV 78 #define MESONG12_CLOCK_FCLK_DIV7_DIV 79 #define MESONG12_CLOCK_FCLK_DIV2P5_DIV 100 #define MESONG12_CLOCK_FIXED_PLL_DCO 101 #define MESONG12_CLOCK_SYS_PLL_DCO 102 #define MESONG12_CLOCK_GP0_PLL_DCO 103 #define MESONG12_CLOCK_HIFI_PLL_DCO 104 #define MESONG12_CLOCK_VPU_0_DIV 111 #define MESONG12_CLOCK_VPU_1_DIV 114 #define MESONG12_CLOCK_VAPB_0_DIV 118 #define MESONG12_CLOCK_VAPB_1_DIV 121 #define MESONG12_CLOCK_HDMI_PLL_DCO 125 #define MESONG12_CLOCK_HDMI_PLL_OD 126 #define MESONG12_CLOCK_HDMI_PLL_OD2 127 #define MESONG12_CLOCK_VID_PLL_SEL 130 #define MESONG12_CLOCK_VID_PLL_DIV 131 #define MESONG12_CLOCK_VCLK_SEL 132 #define MESONG12_CLOCK_VCLK2_SEL 133 #define MESONG12_CLOCK_VCLK_INPUT 134 #define MESONG12_CLOCK_VCLK2_INPUT 135 #define MESONG12_CLOCK_VCLK_DIV 136 #define MESONG12_CLOCK_VCLK2_DIV 137 #define MESONG12_CLOCK_VCLK_DIV2_EN 140 #define MESONG12_CLOCK_VCLK_DIV4_EN 141 #define MESONG12_CLOCK_VCLK_DIV6_EN 142 #define MESONG12_CLOCK_VCLK_DIV12_EN 143 #define MESONG12_CLOCK_VCLK2_DIV2_EN 144 #define MESONG12_CLOCK_VCLK2_DIV4_EN 145 #define MESONG12_CLOCK_VCLK2_DIV6_EN 146 #define MESONG12_CLOCK_VCLK2_DIV12_EN 147 #define MESONG12_CLOCK_CTS_ENCI_SEL 158 #define MESONG12_CLOCK_CTS_ENCP_SEL 159 #define MESONG12_CLOCK_CTS_VDAC_SEL 160 #define MESONG12_CLOCK_HDMI_TX_SEL 161 #define MESONG12_CLOCK_HDMI_SEL 166 #define MESONG12_CLOCK_HDMI_DIV 167 #define MESONG12_CLOCK_MALI_0_DIV 170 #define MESONG12_CLOCK_MALI_1_DIV 173 #define MESONG12_CLOCK_MPLL_50M_DIV 176 #define MESONG12_CLOCK_SYS_PLL_DIV16_EN 178 #define MESONG12_CLOCK_SYS_PLL_DIV16 179 #define MESONG12_CLOCK_CPU_CLK_DYN0_SEL 180 #define MESONG12_CLOCK_CPU_CLK_DYN0_DIV 181 #define MESONG12_CLOCK_CPU_CLK_DYN0 182 #define MESONG12_CLOCK_CPU_CLK_DYN1_SEL 183 #define MESONG12_CLOCK_CPU_CLK_DYN1_DIV 184 #define MESONG12_CLOCK_CPU_CLK_DYN1 185 #define MESONG12_CLOCK_CPU_CLK_DYN 186 #define MESONG12_CLOCK_CPU_CLK_DIV16_EN 188 #define MESONG12_CLOCK_CPU_CLK_DIV16 189 #define MESONG12_CLOCK_CPU_CLK_APB_DIV 190 #define MESONG12_CLOCK_CPU_CLK_APB 191 #define MESONG12_CLOCK_CPU_CLK_ATB_DIV 192 #define MESONG12_CLOCK_CPU_CLK_ATB 193 #define MESONG12_CLOCK_CPU_CLK_AXI_DIV 194 #define MESONG12_CLOCK_CPU_CLK_AXI 195 #define MESONG12_CLOCK_CPU_CLK_TRACE_DIV 196 #define MESONG12_CLOCK_CPU_CLK_TRACE 197 #define MESONG12_CLOCK_PCIE_PLL_DCO 198 #define MESONG12_CLOCK_PCIE_PLL_DCO_DIV2 199 #define MESONG12_CLOCK_PCIE_PLL_OD 200 #define MESONG12_CLOCK_VDEC_1_SEL 202 #define MESONG12_CLOCK_VDEC_1_DIV 203 #define MESONG12_CLOCK_VDEC_HEVC_SEL 205 #define MESONG12_CLOCK_VDEC_HEVC_DIV 206 #define MESONG12_CLOCK_VDEC_HEVCF_SEL 208 #define MESONG12_CLOCK_VDEC_HEVCF_DIV 209 #define MESONG12_CLOCK_TS_DIV 211 #define MESONG12_CLOCK_SYS1_PLL_DCO 213 #define MESONG12_CLOCK_SYS1_PLL 214 #define MESONG12_CLOCK_SYS1_PLL_DIV16_EN 215 #define MESONG12_CLOCK_SYS1_PLL_DIV16 216 #define MESONG12_CLOCK_CPUB_CLK_DYN0_SEL 217 #define MESONG12_CLOCK_CPUB_CLK_DYN0_DIV 218 #define MESONG12_CLOCK_CPUB_CLK_DYN0 219 #define MESONG12_CLOCK_CPUB_CLK_DYN1_SEL 220 #define MESONG12_CLOCK_CPUB_CLK_DYN1_DIV 221 #define MESONG12_CLOCK_CPUB_CLK_DYN1 222 #define MESONG12_CLOCK_CPUB_CLK_DYN 223 #define MESONG12_CLOCK_CPUB_CLK_DIV16_EN 225 #define MESONG12_CLOCK_CPUB_CLK_DIV16 226 #define MESONG12_CLOCK_CPUB_CLK_DIV2 227 #define MESONG12_CLOCK_CPUB_CLK_DIV3 228 #define MESONG12_CLOCK_CPUB_CLK_DIV4 229 #define MESONG12_CLOCK_CPUB_CLK_DIV5 230 #define MESONG12_CLOCK_CPUB_CLK_DIV6 231 #define MESONG12_CLOCK_CPUB_CLK_DIV7 232 #define MESONG12_CLOCK_CPUB_CLK_DIV8 233 #define MESONG12_CLOCK_CPUB_CLK_APB_SEL 234 #define MESONG12_CLOCK_CPUB_CLK_APB 235 #define MESONG12_CLOCK_CPUB_CLK_ATB_SEL 236 #define MESONG12_CLOCK_CPUB_CLK_ATB 237 #define MESONG12_CLOCK_CPUB_CLK_AXI_SEL 238 #define MESONG12_CLOCK_CPUB_CLK_AXI 239 #define MESONG12_CLOCK_CPUB_CLK_TRACE_SEL 240 #define MESONG12_CLOCK_CPUB_CLK_TRACE 241 #define MESONG12_CLOCK_GP1_PLL_DCO 242 #define MESONG12_CLOCK_DSU_CLK_DYN0_SEL 244 #define MESONG12_CLOCK_DSU_CLK_DYN0_DIV 245 #define MESONG12_CLOCK_DSU_CLK_DYN0 246 #define MESONG12_CLOCK_DSU_CLK_DYN1_SEL 247 #define MESONG12_CLOCK_DSU_CLK_DYN1_DIV 248 #define MESONG12_CLOCK_DSU_CLK_DYN1 249 #define MESONG12_CLOCK_DSU_CLK_DYN 250 #define MESONG12_CLOCK_DSU_CLK_FINAL 251 #define MESONG12_CLOCK_SPICC0_SCLK_SEL 256 #define MESONG12_CLOCK_SPICC0_SCLK_DIV 257 #define MESONG12_CLOCK_SPICC1_SCLK_SEL 259 #define MESONG12_CLOCK_SPICC1_SCLK_DIV 260 #define MESONG12_CLOCK_NNA_AXI_CLK_SEL 262 #define MESONG12_CLOCK_NNA_AXI_CLK_DIV 263 #define MESONG12_CLOCK_NNA_CORE_CLK_SEL 265 #define MESONG12_CLOCK_NNA_CORE_CLK_DIV 266 #endif /* _MESONG12_CLKC_H */