root/scripts/dtc/include-prefixes/dt-bindings/clock/qcom,gcc-msm8909.h
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
/*
 * Copyright (C) 2022 Kernkonzept GmbH.
 */

#ifndef _DT_BINDINGS_CLK_QCOM_GCC_8909_H
#define _DT_BINDINGS_CLK_QCOM_GCC_8909_H

/* PLLs */
#define GPLL0_EARLY                             0
#define GPLL0                                   1
#define GPLL1                                   2
#define GPLL1_VOTE                              3
#define GPLL2_EARLY                             4
#define GPLL2                                   5
#define BIMC_PLL_EARLY                          6
#define BIMC_PLL                                7

/* RCGs */
#define APSS_AHB_CLK_SRC                        8
#define BIMC_DDR_CLK_SRC                        9
#define BIMC_GPU_CLK_SRC                        10
#define BLSP1_QUP1_I2C_APPS_CLK_SRC             11
#define BLSP1_QUP1_SPI_APPS_CLK_SRC             12
#define BLSP1_QUP2_I2C_APPS_CLK_SRC             13
#define BLSP1_QUP2_SPI_APPS_CLK_SRC             14
#define BLSP1_QUP3_I2C_APPS_CLK_SRC             15
#define BLSP1_QUP3_SPI_APPS_CLK_SRC             16
#define BLSP1_QUP4_I2C_APPS_CLK_SRC             17
#define BLSP1_QUP4_SPI_APPS_CLK_SRC             18
#define BLSP1_QUP5_I2C_APPS_CLK_SRC             19
#define BLSP1_QUP5_SPI_APPS_CLK_SRC             20
#define BLSP1_QUP6_I2C_APPS_CLK_SRC             21
#define BLSP1_QUP6_SPI_APPS_CLK_SRC             22
#define BLSP1_UART1_APPS_CLK_SRC                23
#define BLSP1_UART2_APPS_CLK_SRC                24
#define BYTE0_CLK_SRC                           25
#define CAMSS_GP0_CLK_SRC                       26
#define CAMSS_GP1_CLK_SRC                       27
#define CAMSS_TOP_AHB_CLK_SRC                   28
#define CODEC_DIGCODEC_CLK_SRC                  29
#define CRYPTO_CLK_SRC                          30
#define CSI0_CLK_SRC                            31
#define CSI0PHYTIMER_CLK_SRC                    32
#define CSI1_CLK_SRC                            33
#define ESC0_CLK_SRC                            34
#define GFX3D_CLK_SRC                           35
#define GP1_CLK_SRC                             36
#define GP2_CLK_SRC                             37
#define GP3_CLK_SRC                             38
#define MCLK0_CLK_SRC                           39
#define MCLK1_CLK_SRC                           40
#define MDP_CLK_SRC                             41
#define PCLK0_CLK_SRC                           42
#define PCNOC_BFDCD_CLK_SRC                     43
#define PDM2_CLK_SRC                            44
#define SDCC1_APPS_CLK_SRC                      45
#define SDCC2_APPS_CLK_SRC                      46
#define SYSTEM_NOC_BFDCD_CLK_SRC                47
#define ULTAUDIO_AHBFABRIC_CLK_SRC              48
#define ULTAUDIO_LPAIF_AUX_I2S_CLK_SRC          49
#define ULTAUDIO_LPAIF_PRI_I2S_CLK_SRC          50
#define ULTAUDIO_LPAIF_SEC_I2S_CLK_SRC          51
#define ULTAUDIO_XO_CLK_SRC                     52
#define USB_HS_SYSTEM_CLK_SRC                   53
#define VCODEC0_CLK_SRC                         54
#define VFE0_CLK_SRC                            55
#define VSYNC_CLK_SRC                           56

/* Voteable Clocks */
#define GCC_APSS_TCU_CLK                        57
#define GCC_BLSP1_AHB_CLK                       58
#define GCC_BLSP1_SLEEP_CLK                     59
#define GCC_BOOT_ROM_AHB_CLK                    60
#define GCC_CRYPTO_CLK                          61
#define GCC_CRYPTO_AHB_CLK                      62
#define GCC_CRYPTO_AXI_CLK                      63
#define GCC_GFX_TBU_CLK                         64
#define GCC_GFX_TCU_CLK                         65
#define GCC_GTCU_AHB_CLK                        66
#define GCC_MDP_TBU_CLK                         67
#define GCC_PRNG_AHB_CLK                        68
#define GCC_SMMU_CFG_CLK                        69
#define GCC_VENUS_TBU_CLK                       70
#define GCC_VFE_TBU_CLK                         71

/* Branches */
#define GCC_BIMC_GFX_CLK                        72
#define GCC_BIMC_GPU_CLK                        73
#define GCC_BLSP1_QUP1_I2C_APPS_CLK             74
#define GCC_BLSP1_QUP1_SPI_APPS_CLK             75
#define GCC_BLSP1_QUP2_I2C_APPS_CLK             76
#define GCC_BLSP1_QUP2_SPI_APPS_CLK             77
#define GCC_BLSP1_QUP3_I2C_APPS_CLK             78
#define GCC_BLSP1_QUP3_SPI_APPS_CLK             79
#define GCC_BLSP1_QUP4_I2C_APPS_CLK             80
#define GCC_BLSP1_QUP4_SPI_APPS_CLK             81
#define GCC_BLSP1_QUP5_I2C_APPS_CLK             82
#define GCC_BLSP1_QUP5_SPI_APPS_CLK             83
#define GCC_BLSP1_QUP6_I2C_APPS_CLK             84
#define GCC_BLSP1_QUP6_SPI_APPS_CLK             85
#define GCC_BLSP1_UART1_APPS_CLK                86
#define GCC_BLSP1_UART2_APPS_CLK                87
#define GCC_CAMSS_AHB_CLK                       88
#define GCC_CAMSS_CSI0_CLK                      89
#define GCC_CAMSS_CSI0_AHB_CLK                  90
#define GCC_CAMSS_CSI0PHY_CLK                   91
#define GCC_CAMSS_CSI0PHYTIMER_CLK              92
#define GCC_CAMSS_CSI0PIX_CLK                   93
#define GCC_CAMSS_CSI0RDI_CLK                   94
#define GCC_CAMSS_CSI1_CLK                      95
#define GCC_CAMSS_CSI1_AHB_CLK                  96
#define GCC_CAMSS_CSI1PHY_CLK                   97
#define GCC_CAMSS_CSI1PIX_CLK                   98
#define GCC_CAMSS_CSI1RDI_CLK                   99
#define GCC_CAMSS_CSI_VFE0_CLK                  100
#define GCC_CAMSS_GP0_CLK                       101
#define GCC_CAMSS_GP1_CLK                       102
#define GCC_CAMSS_ISPIF_AHB_CLK                 103
#define GCC_CAMSS_MCLK0_CLK                     104
#define GCC_CAMSS_MCLK1_CLK                     105
#define GCC_CAMSS_TOP_AHB_CLK                   106
#define GCC_CAMSS_VFE0_CLK                      107
#define GCC_CAMSS_VFE_AHB_CLK                   108
#define GCC_CAMSS_VFE_AXI_CLK                   109
#define GCC_CODEC_DIGCODEC_CLK                  110
#define GCC_GP1_CLK                             111
#define GCC_GP2_CLK                             112
#define GCC_GP3_CLK                             113
#define GCC_MDSS_AHB_CLK                        114
#define GCC_MDSS_AXI_CLK                        115
#define GCC_MDSS_BYTE0_CLK                      116
#define GCC_MDSS_ESC0_CLK                       117
#define GCC_MDSS_MDP_CLK                        118
#define GCC_MDSS_PCLK0_CLK                      119
#define GCC_MDSS_VSYNC_CLK                      120
#define GCC_MSS_CFG_AHB_CLK                     121
#define GCC_MSS_Q6_BIMC_AXI_CLK                 122
#define GCC_OXILI_AHB_CLK                       123
#define GCC_OXILI_GFX3D_CLK                     124
#define GCC_PDM2_CLK                            125
#define GCC_PDM_AHB_CLK                         126
#define GCC_SDCC1_AHB_CLK                       127
#define GCC_SDCC1_APPS_CLK                      128
#define GCC_SDCC2_AHB_CLK                       129
#define GCC_SDCC2_APPS_CLK                      130
#define GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK     131
#define GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_LPM_CLK 132
#define GCC_ULTAUDIO_AVSYNC_XO_CLK              133
#define GCC_ULTAUDIO_LPAIF_AUX_I2S_CLK          134
#define GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK          135
#define GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK          136
#define GCC_ULTAUDIO_PCNOC_MPORT_CLK            137
#define GCC_ULTAUDIO_PCNOC_SWAY_CLK             138
#define GCC_ULTAUDIO_STC_XO_CLK                 139
#define GCC_USB2A_PHY_SLEEP_CLK                 140
#define GCC_USB_HS_AHB_CLK                      141
#define GCC_USB_HS_PHY_CFG_AHB_CLK              142
#define GCC_USB_HS_SYSTEM_CLK                   143
#define GCC_VENUS0_AHB_CLK                      144
#define GCC_VENUS0_AXI_CLK                      145
#define GCC_VENUS0_CORE0_VCODEC0_CLK            146
#define GCC_VENUS0_VCODEC0_CLK                  147

/* Resets */
#define GCC_AUDIO_CORE_BCR                      0
#define GCC_BLSP1_BCR                           1
#define GCC_BLSP1_QUP1_BCR                      2
#define GCC_BLSP1_QUP2_BCR                      3
#define GCC_BLSP1_QUP3_BCR                      4
#define GCC_BLSP1_QUP4_BCR                      5
#define GCC_BLSP1_QUP5_BCR                      6
#define GCC_BLSP1_QUP6_BCR                      7
#define GCC_BLSP1_UART1_BCR                     8
#define GCC_BLSP1_UART2_BCR                     9
#define GCC_CAMSS_CSI0_BCR                      10
#define GCC_CAMSS_CSI0PHY_BCR                   11
#define GCC_CAMSS_CSI0PIX_BCR                   12
#define GCC_CAMSS_CSI0RDI_BCR                   13
#define GCC_CAMSS_CSI1_BCR                      14
#define GCC_CAMSS_CSI1PHY_BCR                   15
#define GCC_CAMSS_CSI1PIX_BCR                   16
#define GCC_CAMSS_CSI1RDI_BCR                   17
#define GCC_CAMSS_CSI_VFE0_BCR                  18
#define GCC_CAMSS_GP0_BCR                       19
#define GCC_CAMSS_GP1_BCR                       20
#define GCC_CAMSS_ISPIF_BCR                     21
#define GCC_CAMSS_MCLK0_BCR                     22
#define GCC_CAMSS_MCLK1_BCR                     23
#define GCC_CAMSS_PHY0_BCR                      24
#define GCC_CAMSS_TOP_BCR                       25
#define GCC_CAMSS_TOP_AHB_BCR                   26
#define GCC_CAMSS_VFE_BCR                       27
#define GCC_CRYPTO_BCR                          28
#define GCC_MDSS_BCR                            29
#define GCC_OXILI_BCR                           30
#define GCC_PDM_BCR                             31
#define GCC_PRNG_BCR                            32
#define GCC_QUSB2_PHY_BCR                       33
#define GCC_SDCC1_BCR                           34
#define GCC_SDCC2_BCR                           35
#define GCC_ULT_AUDIO_BCR                       36
#define GCC_USB2A_PHY_BCR                       37
#define GCC_USB2_HS_PHY_ONLY_BCR                38
#define GCC_USB_HS_BCR                          39
#define GCC_VENUS0_BCR                          40

/* Subsystem Restart */
#define GCC_MSS_RESTART                         41

/* Power Domains */
#define MDSS_GDSC                               0
#define OXILI_GDSC                              1
#define VENUS_GDSC                              2
#define VENUS_CORE0_GDSC                        3
#define VFE_GDSC                                4

#endif