mirror of
https://github.com/linux-msm/debugcc.git
synced 2026-02-25 13:12:32 -08:00
Merge pull request #24 from lumag/mux-chain
Rework clock muxes into a chain structure
This commit is contained in:
131
debugcc.c
131
debugcc.c
@@ -34,6 +34,7 @@
|
||||
#include <fcntl.h>
|
||||
#include <getopt.h>
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
@@ -42,33 +43,23 @@
|
||||
|
||||
#include "debugcc.h"
|
||||
|
||||
static uint32_t readl(void *ptr)
|
||||
{
|
||||
return *((volatile uint32_t*)ptr);
|
||||
}
|
||||
|
||||
static void writel(uint32_t val, void *ptr)
|
||||
{
|
||||
*((volatile uint32_t*)ptr) = val;
|
||||
}
|
||||
|
||||
static unsigned int measure_ticks(struct debug_mux *gcc, unsigned int ticks)
|
||||
static unsigned int measure_ticks(struct gcc_mux *gcc, unsigned int ticks)
|
||||
{
|
||||
uint32_t val;
|
||||
|
||||
writel(ticks, gcc->base + gcc->debug_ctl_reg);
|
||||
writel(ticks, gcc->mux.base + gcc->debug_ctl_reg);
|
||||
do {
|
||||
val = readl(gcc->base + gcc->debug_status_reg);
|
||||
val = readl(gcc->mux.base + gcc->debug_status_reg);
|
||||
} while (val & BIT(25));
|
||||
|
||||
writel(ticks | BIT(20), gcc->base + gcc->debug_ctl_reg);
|
||||
writel(ticks | BIT(20), gcc->mux.base + gcc->debug_ctl_reg);
|
||||
do {
|
||||
val = readl(gcc->base + gcc->debug_status_reg);
|
||||
val = readl(gcc->mux.base + gcc->debug_status_reg);
|
||||
} while (!(val & BIT(25)));
|
||||
|
||||
val &= 0x1ffffff;
|
||||
|
||||
writel(ticks, gcc->base + gcc->debug_ctl_reg);
|
||||
writel(ticks, gcc->mux.base + gcc->debug_ctl_reg);
|
||||
|
||||
return val;
|
||||
}
|
||||
@@ -92,6 +83,9 @@ static void mux_prepare_enable(struct debug_mux *mux, int selector)
|
||||
}
|
||||
|
||||
mux_enable(mux);
|
||||
|
||||
if (mux->parent)
|
||||
mux_prepare_enable(mux->parent, mux->parent_mux_val);
|
||||
}
|
||||
|
||||
void mux_enable(struct debug_mux *mux)
|
||||
@@ -103,17 +97,14 @@ void mux_enable(struct debug_mux *mux)
|
||||
val |= mux->enable_mask;
|
||||
writel(val, mux->base + mux->enable_reg);
|
||||
}
|
||||
|
||||
if (mux->premeasure)
|
||||
mux->premeasure(mux);
|
||||
}
|
||||
|
||||
void mux_disable(struct debug_mux *mux)
|
||||
{
|
||||
uint32_t val;
|
||||
|
||||
if (mux->postmeasure)
|
||||
mux->postmeasure(mux);
|
||||
if (mux->parent)
|
||||
mux_disable(mux->parent);
|
||||
|
||||
if (mux->enable_mask) {
|
||||
val = readl(mux->base + mux->enable_reg);
|
||||
@@ -122,35 +113,21 @@ void mux_disable(struct debug_mux *mux)
|
||||
}
|
||||
}
|
||||
|
||||
static bool leaf_enabled(struct debug_mux *mux, struct debug_mux *leaf)
|
||||
{
|
||||
uint32_t val;
|
||||
|
||||
/* If no AHB clock is specified, we assume it's clocked */
|
||||
if (!leaf || !leaf->ahb_mask)
|
||||
return true;
|
||||
|
||||
val = readl(mux->base + leaf->ahb_reg);
|
||||
val &= leaf->ahb_mask;
|
||||
|
||||
/* CLK_OFF will be set if block is not clocked, so inverse */
|
||||
return !val;
|
||||
}
|
||||
|
||||
static unsigned long measure_default(const struct measure_clk *clk)
|
||||
unsigned long measure_gcc(const struct measure_clk *clk,
|
||||
const struct debug_mux *mux)
|
||||
{
|
||||
unsigned long raw_count_short;
|
||||
unsigned long raw_count_full;
|
||||
struct debug_mux *gcc = clk->primary;
|
||||
struct gcc_mux *gcc = container_of(mux, struct gcc_mux, mux);
|
||||
unsigned long xo_div4;
|
||||
|
||||
xo_div4 = readl(gcc->base + gcc->xo_div4_reg);
|
||||
writel(xo_div4 | 1, gcc->base + gcc->xo_div4_reg);
|
||||
xo_div4 = readl(mux->base + gcc->xo_div4_reg);
|
||||
writel(xo_div4 | 1, mux->base + gcc->xo_div4_reg);
|
||||
|
||||
raw_count_short = measure_ticks(gcc, 0x1000);
|
||||
raw_count_full = measure_ticks(gcc, 0x10000);
|
||||
|
||||
writel(xo_div4, gcc->base + gcc->xo_div4_reg);
|
||||
writel(xo_div4, mux->base + gcc->xo_div4_reg);
|
||||
|
||||
if (raw_count_full == raw_count_short) {
|
||||
return 0;
|
||||
@@ -159,49 +136,49 @@ static unsigned long measure_default(const struct measure_clk *clk)
|
||||
raw_count_full = ((raw_count_full * 10) + 15) * 4800000;
|
||||
raw_count_full = raw_count_full / ((0x10000 * 10) + 35);
|
||||
|
||||
if (clk->leaf && clk->leaf->div_val)
|
||||
raw_count_full *= clk->leaf->div_val;
|
||||
|
||||
if (clk->primary->div_val)
|
||||
raw_count_full *= clk->primary->div_val;
|
||||
|
||||
if (clk->fixed_div)
|
||||
raw_count_full *= clk->fixed_div;
|
||||
|
||||
if (mux->div_val)
|
||||
raw_count_full *= mux->div_val;
|
||||
|
||||
return raw_count_full;
|
||||
}
|
||||
|
||||
unsigned long measure_mccc(const struct measure_clk *clk)
|
||||
unsigned long measure_leaf(const struct measure_clk *clk,
|
||||
const struct debug_mux *mux)
|
||||
{
|
||||
unsigned long count;
|
||||
|
||||
if (!mux->parent) {
|
||||
printf("No parent in measure_leaf, mux '%s'\n", mux->block_name ? : "gcc");
|
||||
return 0;
|
||||
}
|
||||
|
||||
count = mux->parent->measure(clk, mux->parent);
|
||||
|
||||
if (mux->div_val)
|
||||
count *= mux->div_val;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
unsigned long measure_mccc(const struct measure_clk *clk,
|
||||
const struct debug_mux *mux)
|
||||
{
|
||||
/* MCCC is always on, just read the rate and return. */
|
||||
return 1000000000000ULL / readl(clk->leaf->base + clk->leaf_mux);
|
||||
return 1000000000000ULL / readl(clk->clk_mux->base + clk->mux);
|
||||
}
|
||||
|
||||
static void measure(const struct measure_clk *clk)
|
||||
{
|
||||
unsigned long clk_rate;
|
||||
struct debug_mux *gcc = clk->primary;
|
||||
|
||||
if (!leaf_enabled(gcc, clk->leaf)) {
|
||||
printf("%50s: skipping\n", clk->name);
|
||||
return;
|
||||
}
|
||||
mux_prepare_enable(clk->clk_mux, clk->mux);
|
||||
|
||||
if (clk->leaf)
|
||||
mux_prepare_enable(clk->leaf, clk->leaf_mux);
|
||||
clk_rate = clk->clk_mux->measure(clk, clk->clk_mux);
|
||||
|
||||
mux_prepare_enable(clk->primary, clk->mux);
|
||||
if (clk->fixed_div)
|
||||
clk_rate *= clk->fixed_div;
|
||||
|
||||
if (clk->leaf && clk->leaf->measure)
|
||||
clk_rate = clk->leaf->measure(clk);
|
||||
else
|
||||
clk_rate = measure_default(clk);
|
||||
|
||||
mux_disable(clk->primary);
|
||||
|
||||
if (clk->leaf)
|
||||
mux_disable(clk->leaf);
|
||||
mux_disable(clk->clk_mux);
|
||||
|
||||
if (clk_rate == 0) {
|
||||
printf("%50s: off\n", clk->name);
|
||||
@@ -265,8 +242,8 @@ static const struct measure_clk *find_clock(const struct debugcc_platform *platf
|
||||
static bool clock_from_block(const struct measure_clk *clk, const char *block_name)
|
||||
{
|
||||
return !block_name ||
|
||||
(!clk->leaf && !strcmp(block_name, CORE_CC_BLOCK)) ||
|
||||
(clk->leaf && clk->leaf->block_name && !strcmp(block_name, clk->leaf->block_name));
|
||||
(!clk->clk_mux && !strcmp(block_name, CORE_CC_BLOCK)) ||
|
||||
(clk->clk_mux && clk->clk_mux->block_name && !strcmp(block_name, clk->clk_mux->block_name));
|
||||
}
|
||||
|
||||
static void list_clocks_block(const struct debugcc_platform *platform, const char *block_name)
|
||||
@@ -277,8 +254,8 @@ static void list_clocks_block(const struct debugcc_platform *platform, const cha
|
||||
if (!clock_from_block(clk, block_name))
|
||||
continue;
|
||||
|
||||
if (clk->leaf && clk->leaf->block_name)
|
||||
printf("%-40s %s\n", clk->name, clk->leaf->block_name);
|
||||
if (clk->clk_mux && clk->clk_mux->block_name)
|
||||
printf("%-40s %s\n", clk->name, clk->clk_mux->block_name);
|
||||
else
|
||||
printf("%s\n", clk->name);
|
||||
}
|
||||
@@ -296,7 +273,7 @@ int mmap_mux(int devmem, struct debug_mux *mux)
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return mmap_mux(devmem, mux->parent);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -312,11 +289,7 @@ static int mmap_hardware(int devmem, const struct debugcc_platform *platform)
|
||||
int ret;
|
||||
|
||||
for (clk = platform->clocks; clk->name; clk++) {
|
||||
ret = mmap_mux(devmem, clk->primary);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
ret = mmap_mux(devmem, clk->leaf);
|
||||
ret = mmap_mux(devmem, clk->clk_mux);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
45
debugcc.h
45
debugcc.h
@@ -43,6 +43,9 @@ struct debug_mux {
|
||||
const char *block_name;
|
||||
size_t size;
|
||||
|
||||
struct debug_mux *parent;
|
||||
unsigned long parent_mux_val;
|
||||
|
||||
unsigned int enable_reg;
|
||||
unsigned int enable_mask;
|
||||
|
||||
@@ -55,25 +58,22 @@ struct debug_mux {
|
||||
unsigned int div_mask;
|
||||
unsigned int div_val;
|
||||
|
||||
unsigned long (*measure)(const struct measure_clk *clk,
|
||||
const struct debug_mux *mux);
|
||||
};
|
||||
|
||||
struct gcc_mux {
|
||||
struct debug_mux mux;
|
||||
|
||||
unsigned int xo_div4_reg;
|
||||
unsigned int debug_ctl_reg;
|
||||
unsigned int debug_status_reg;
|
||||
|
||||
unsigned int ahb_reg;
|
||||
unsigned int ahb_mask;
|
||||
|
||||
void (*premeasure)(struct debug_mux *mux);
|
||||
unsigned long (*measure)(const struct measure_clk *clk);
|
||||
void (*postmeasure)(struct debug_mux *mux);
|
||||
};
|
||||
|
||||
struct measure_clk {
|
||||
char *name;
|
||||
struct debug_mux *primary;
|
||||
int mux;
|
||||
|
||||
struct debug_mux *leaf;
|
||||
int leaf_mux;
|
||||
struct debug_mux *clk_mux;
|
||||
unsigned long mux;
|
||||
|
||||
unsigned int fixed_div;
|
||||
};
|
||||
@@ -84,10 +84,29 @@ struct debugcc_platform {
|
||||
int (*premap)(int devmem);
|
||||
};
|
||||
|
||||
#define container_of(ptr, type, member) \
|
||||
((type *) ((char *)(ptr) - offsetof(type, member)))
|
||||
|
||||
static inline uint32_t readl(void *ptr)
|
||||
{
|
||||
return *((volatile uint32_t*)ptr);
|
||||
}
|
||||
|
||||
static inline void writel(uint32_t val, void *ptr)
|
||||
{
|
||||
*((volatile uint32_t*)ptr) = val;
|
||||
}
|
||||
|
||||
int mmap_mux(int devmem, struct debug_mux *mux);
|
||||
void mux_enable(struct debug_mux *mux);
|
||||
void mux_disable(struct debug_mux *mux);
|
||||
unsigned long measure_mccc(const struct measure_clk *clk);
|
||||
|
||||
unsigned long measure_gcc(const struct measure_clk *clk,
|
||||
const struct debug_mux *mux);
|
||||
unsigned long measure_leaf(const struct measure_clk *clk,
|
||||
const struct debug_mux *mux);
|
||||
unsigned long measure_mccc(const struct measure_clk *clk,
|
||||
const struct debug_mux *mux);
|
||||
|
||||
extern const struct debugcc_platform *platforms[];
|
||||
|
||||
|
||||
242
msm8936.c
242
msm8936.c
@@ -49,22 +49,24 @@
|
||||
#define GCC_CLOCK_FREQ_MEASURE_STATUS 0x74008
|
||||
#define GCC_XO_DIV4_CBCR 0x30034
|
||||
|
||||
static struct debug_mux gcc;
|
||||
static struct gcc_mux gcc = {
|
||||
.mux = {
|
||||
.phys = GCC_BASE,
|
||||
.size = GCC_SIZE,
|
||||
|
||||
static struct debug_mux gcc = {
|
||||
.phys = GCC_BASE,
|
||||
.size = GCC_SIZE,
|
||||
.measure = measure_gcc,
|
||||
|
||||
.enable_reg = GCC_DEBUG_CLK_CTL,
|
||||
.enable_mask = BIT(16),
|
||||
.enable_reg = GCC_DEBUG_CLK_CTL,
|
||||
.enable_mask = BIT(16),
|
||||
|
||||
.mux_reg = GCC_DEBUG_CLK_CTL,
|
||||
.mux_mask = 0x1ff,
|
||||
.mux_reg = GCC_DEBUG_CLK_CTL,
|
||||
.mux_mask = 0x1ff,
|
||||
|
||||
.div_reg = GCC_DEBUG_CLK_CTL,
|
||||
.div_shift = 12,
|
||||
.div_mask = 0xf << 12,
|
||||
.div_val = 4,
|
||||
.div_reg = GCC_DEBUG_CLK_CTL,
|
||||
.div_shift = 12,
|
||||
.div_mask = 0xf << 12,
|
||||
.div_val = 4,
|
||||
},
|
||||
|
||||
.xo_div4_reg = GCC_XO_DIV4_CBCR,
|
||||
.debug_ctl_reg = GCC_CLOCK_FREQ_MEASURE_CTL,
|
||||
@@ -72,114 +74,114 @@ static struct debug_mux gcc = {
|
||||
};
|
||||
|
||||
static struct measure_clk msm8936_clocks[] = {
|
||||
{ "gcc_gp1_clk", &gcc, 16 },
|
||||
{ "gcc_gp2_clk", &gcc, 17 },
|
||||
{ "gcc_gp3_clk", &gcc, 18 },
|
||||
{ "gcc_bimc_gfx_clk", &gcc, 45 },
|
||||
{ "gcc_mss_cfg_ahb_clk", &gcc, 48 },
|
||||
{ "gcc_mss_q6_bimc_axi_clk", &gcc, 49 },
|
||||
{ "gcc_apss_tcu_clk", &gcc, 80 },
|
||||
{ "gcc_mdp_tbu_clk", &gcc, 81 },
|
||||
{ "gcc_gfx_tbu_clk", &gcc, 82 },
|
||||
{ "gcc_gfx_tcu_clk", &gcc, 83 },
|
||||
{ "gcc_venus_tbu_clk", &gcc, 84 },
|
||||
{ "gcc_gtcu_ahb_clk", &gcc, 88 },
|
||||
{ "gcc_vfe_tbu_clk", &gcc, 90 },
|
||||
{ "gcc_smmu_cfg_clk", &gcc, 91 },
|
||||
{ "gcc_jpeg_tbu_clk", &gcc, 92 },
|
||||
{ "gcc_usb_hs_system_clk", &gcc, 96 },
|
||||
{ "gcc_usb_hs_ahb_clk", &gcc, 97 },
|
||||
{ "gcc_usb_fs_ahb_clk", &gcc, 241 },
|
||||
{ "gcc_usb_fs_ic_clk", &gcc, 244 },
|
||||
{ "gcc_usb2a_phy_sleep_clk", &gcc, 99 },
|
||||
{ "gcc_sdcc1_apps_clk", &gcc, 104 },
|
||||
{ "gcc_sdcc1_ahb_clk", &gcc, 105 },
|
||||
{ "gcc_sdcc2_apps_clk", &gcc, 112 },
|
||||
{ "gcc_sdcc2_ahb_clk", &gcc, 113 },
|
||||
{ "gcc_blsp1_ahb_clk", &gcc, 136 },
|
||||
{ "gcc_blsp1_qup1_spi_apps_clk", &gcc, 138 },
|
||||
{ "gcc_blsp1_qup1_i2c_apps_clk", &gcc, 139 },
|
||||
{ "gcc_blsp1_uart1_apps_clk", &gcc, 140 },
|
||||
{ "gcc_blsp1_qup2_spi_apps_clk", &gcc, 142 },
|
||||
{ "gcc_blsp1_qup2_i2c_apps_clk", &gcc, 144 },
|
||||
{ "gcc_blsp1_uart2_apps_clk", &gcc, 145 },
|
||||
{ "gcc_blsp1_qup3_spi_apps_clk", &gcc, 147 },
|
||||
{ "gcc_blsp1_qup3_i2c_apps_clk", &gcc, 148 },
|
||||
{ "gcc_blsp1_qup4_spi_apps_clk", &gcc, 152 },
|
||||
{ "gcc_blsp1_qup4_i2c_apps_clk", &gcc, 153 },
|
||||
{ "gcc_blsp1_qup5_spi_apps_clk", &gcc, 156 },
|
||||
{ "gcc_blsp1_qup5_i2c_apps_clk", &gcc, 157 },
|
||||
{ "gcc_blsp1_qup6_spi_apps_clk", &gcc, 161 },
|
||||
{ "gcc_blsp1_qup6_i2c_apps_clk", &gcc, 162 },
|
||||
{ "gcc_camss_ahb_clk", &gcc, 168 },
|
||||
{ "gcc_camss_top_ahb_clk", &gcc, 169 },
|
||||
{ "gcc_camss_micro_ahb_clk", &gcc, 170 },
|
||||
{ "gcc_camss_gp0_clk", &gcc, 171 },
|
||||
{ "gcc_camss_gp1_clk", &gcc, 172 },
|
||||
{ "gcc_camss_mclk0_clk", &gcc, 173 },
|
||||
{ "gcc_camss_mclk1_clk", &gcc, 174 },
|
||||
{ "gcc_camss_mclk2_clk", &gcc, 445 },
|
||||
{ "gcc_camss_cci_clk", &gcc, 175 },
|
||||
{ "gcc_camss_cci_ahb_clk", &gcc, 176 },
|
||||
{ "gcc_camss_csi0phytimer_clk", &gcc, 177 },
|
||||
{ "gcc_camss_csi1phytimer_clk", &gcc, 178 },
|
||||
{ "gcc_camss_jpeg0_clk", &gcc, 179 },
|
||||
{ "gcc_camss_jpeg_ahb_clk", &gcc, 180 },
|
||||
{ "gcc_camss_jpeg_axi_clk", &gcc, 181 },
|
||||
{ "gcc_camss_vfe0_clk", &gcc, 184 },
|
||||
{ "gcc_camss_cpp_clk", &gcc, 185 },
|
||||
{ "gcc_camss_cpp_ahb_clk", &gcc, 186 },
|
||||
{ "gcc_camss_vfe_ahb_clk", &gcc, 187 },
|
||||
{ "gcc_camss_vfe_axi_clk", &gcc, 188 },
|
||||
{ "gcc_camss_csi_vfe0_clk", &gcc, 191 },
|
||||
{ "gcc_camss_csi0_clk", &gcc, 192 },
|
||||
{ "gcc_camss_csi0_ahb_clk", &gcc, 193 },
|
||||
{ "gcc_camss_csi0phy_clk", &gcc, 194 },
|
||||
{ "gcc_camss_csi0rdi_clk", &gcc, 195 },
|
||||
{ "gcc_camss_csi0pix_clk", &gcc, 196 },
|
||||
{ "gcc_camss_csi1_clk", &gcc, 197 },
|
||||
{ "gcc_camss_csi1_ahb_clk", &gcc, 198 },
|
||||
{ "gcc_camss_csi1phy_clk", &gcc, 199 },
|
||||
{ "gcc_camss_csi2_clk", &gcc, 227 },
|
||||
{ "gcc_camss_csi2_ahb_clk", &gcc, 228 },
|
||||
{ "gcc_camss_csi2phy_clk", &gcc, 229 },
|
||||
{ "gcc_camss_csi2rdi_clk", &gcc, 230 },
|
||||
{ "gcc_camss_csi2pix_clk", &gcc, 231 },
|
||||
{ "gcc_pdm_ahb_clk", &gcc, 208 },
|
||||
{ "gcc_pdm2_clk", &gcc, 210 },
|
||||
{ "gcc_prng_ahb_clk", &gcc, 216 },
|
||||
{ "gcc_camss_csi1rdi_clk", &gcc, 224 },
|
||||
{ "gcc_camss_csi1pix_clk", &gcc, 225 },
|
||||
{ "gcc_camss_ispif_ahb_clk", &gcc, 226 },
|
||||
{ "gcc_boot_rom_ahb_clk", &gcc, 248 },
|
||||
{ "gcc_crypto_clk", &gcc, 312 },
|
||||
{ "gcc_crypto_axi_clk", &gcc, 313 },
|
||||
{ "gcc_crypto_ahb_clk", &gcc, 314 },
|
||||
{ "gcc_oxili_timer_clk", &gcc, 489 },
|
||||
{ "gcc_oxili_gfx3d_clk", &gcc, 490 },
|
||||
{ "gcc_oxili_ahb_clk", &gcc, 491 },
|
||||
{ "gcc_oxili_gmem_clk", &gcc, 496 },
|
||||
{ "gcc_venus0_vcodec0_clk", &gcc, 497 },
|
||||
{ "gcc_venus0_core0_vcodec0_clk", &gcc, 440 },
|
||||
{ "gcc_venus0_core1_vcodec0_clk", &gcc, 441 },
|
||||
{ "gcc_venus0_axi_clk", &gcc, 498 },
|
||||
{ "gcc_venus0_ahb_clk", &gcc, 499 },
|
||||
{ "gcc_mdss_ahb_clk", &gcc, 502 },
|
||||
{ "gcc_mdss_axi_clk", &gcc, 503 },
|
||||
{ "gcc_mdss_pclk0_clk", &gcc, 504 },
|
||||
{ "gcc_mdss_pclk1_clk", &gcc, 442 },
|
||||
{ "gcc_mdss_mdp_clk", &gcc, 505 },
|
||||
{ "gcc_mdss_vsync_clk", &gcc, 507 },
|
||||
{ "gcc_mdss_byte0_clk", &gcc, 508 },
|
||||
{ "gcc_mdss_byte1_clk", &gcc, 443 },
|
||||
{ "gcc_mdss_esc0_clk", &gcc, 509 },
|
||||
{ "gcc_mdss_esc1_clk", &gcc, 444 },
|
||||
{ "gcc_bimc_clk", &gcc, 340 },
|
||||
{ "gcc_bimc_gpu_clk", &gcc, 343 },
|
||||
{ "gcc_bimc_ddr_ch0_clk", &gcc, 346 },
|
||||
{ "gcc_cpp_tbu_clk", &gcc, 233 },
|
||||
{ "gcc_mdp_rt_tbu_clk", &gcc, 238 },
|
||||
{ "wcnss_m_clk", &gcc, 408 },
|
||||
{ "gcc_gp1_clk", &gcc.mux, 16 },
|
||||
{ "gcc_gp2_clk", &gcc.mux, 17 },
|
||||
{ "gcc_gp3_clk", &gcc.mux, 18 },
|
||||
{ "gcc_bimc_gfx_clk", &gcc.mux, 45 },
|
||||
{ "gcc_mss_cfg_ahb_clk", &gcc.mux, 48 },
|
||||
{ "gcc_mss_q6_bimc_axi_clk", &gcc.mux, 49 },
|
||||
{ "gcc_apss_tcu_clk", &gcc.mux, 80 },
|
||||
{ "gcc_mdp_tbu_clk", &gcc.mux, 81 },
|
||||
{ "gcc_gfx_tbu_clk", &gcc.mux, 82 },
|
||||
{ "gcc_gfx_tcu_clk", &gcc.mux, 83 },
|
||||
{ "gcc_venus_tbu_clk", &gcc.mux, 84 },
|
||||
{ "gcc_gtcu_ahb_clk", &gcc.mux, 88 },
|
||||
{ "gcc_vfe_tbu_clk", &gcc.mux, 90 },
|
||||
{ "gcc_smmu_cfg_clk", &gcc.mux, 91 },
|
||||
{ "gcc_jpeg_tbu_clk", &gcc.mux, 92 },
|
||||
{ "gcc_usb_hs_system_clk", &gcc.mux, 96 },
|
||||
{ "gcc_usb_hs_ahb_clk", &gcc.mux, 97 },
|
||||
{ "gcc_usb_fs_ahb_clk", &gcc.mux, 241 },
|
||||
{ "gcc_usb_fs_ic_clk", &gcc.mux, 244 },
|
||||
{ "gcc_usb2a_phy_sleep_clk", &gcc.mux, 99 },
|
||||
{ "gcc_sdcc1_apps_clk", &gcc.mux, 104 },
|
||||
{ "gcc_sdcc1_ahb_clk", &gcc.mux, 105 },
|
||||
{ "gcc_sdcc2_apps_clk", &gcc.mux, 112 },
|
||||
{ "gcc_sdcc2_ahb_clk", &gcc.mux, 113 },
|
||||
{ "gcc_blsp1_ahb_clk", &gcc.mux, 136 },
|
||||
{ "gcc_blsp1_qup1_spi_apps_clk", &gcc.mux, 138 },
|
||||
{ "gcc_blsp1_qup1_i2c_apps_clk", &gcc.mux, 139 },
|
||||
{ "gcc_blsp1_uart1_apps_clk", &gcc.mux, 140 },
|
||||
{ "gcc_blsp1_qup2_spi_apps_clk", &gcc.mux, 142 },
|
||||
{ "gcc_blsp1_qup2_i2c_apps_clk", &gcc.mux, 144 },
|
||||
{ "gcc_blsp1_uart2_apps_clk", &gcc.mux, 145 },
|
||||
{ "gcc_blsp1_qup3_spi_apps_clk", &gcc.mux, 147 },
|
||||
{ "gcc_blsp1_qup3_i2c_apps_clk", &gcc.mux, 148 },
|
||||
{ "gcc_blsp1_qup4_spi_apps_clk", &gcc.mux, 152 },
|
||||
{ "gcc_blsp1_qup4_i2c_apps_clk", &gcc.mux, 153 },
|
||||
{ "gcc_blsp1_qup5_spi_apps_clk", &gcc.mux, 156 },
|
||||
{ "gcc_blsp1_qup5_i2c_apps_clk", &gcc.mux, 157 },
|
||||
{ "gcc_blsp1_qup6_spi_apps_clk", &gcc.mux, 161 },
|
||||
{ "gcc_blsp1_qup6_i2c_apps_clk", &gcc.mux, 162 },
|
||||
{ "gcc_camss_ahb_clk", &gcc.mux, 168 },
|
||||
{ "gcc_camss_top_ahb_clk", &gcc.mux, 169 },
|
||||
{ "gcc_camss_micro_ahb_clk", &gcc.mux, 170 },
|
||||
{ "gcc_camss_gp0_clk", &gcc.mux, 171 },
|
||||
{ "gcc_camss_gp1_clk", &gcc.mux, 172 },
|
||||
{ "gcc_camss_mclk0_clk", &gcc.mux, 173 },
|
||||
{ "gcc_camss_mclk1_clk", &gcc.mux, 174 },
|
||||
{ "gcc_camss_mclk2_clk", &gcc.mux, 445 },
|
||||
{ "gcc_camss_cci_clk", &gcc.mux, 175 },
|
||||
{ "gcc_camss_cci_ahb_clk", &gcc.mux, 176 },
|
||||
{ "gcc_camss_csi0phytimer_clk", &gcc.mux, 177 },
|
||||
{ "gcc_camss_csi1phytimer_clk", &gcc.mux, 178 },
|
||||
{ "gcc_camss_jpeg0_clk", &gcc.mux, 179 },
|
||||
{ "gcc_camss_jpeg_ahb_clk", &gcc.mux, 180 },
|
||||
{ "gcc_camss_jpeg_axi_clk", &gcc.mux, 181 },
|
||||
{ "gcc_camss_vfe0_clk", &gcc.mux, 184 },
|
||||
{ "gcc_camss_cpp_clk", &gcc.mux, 185 },
|
||||
{ "gcc_camss_cpp_ahb_clk", &gcc.mux, 186 },
|
||||
{ "gcc_camss_vfe_ahb_clk", &gcc.mux, 187 },
|
||||
{ "gcc_camss_vfe_axi_clk", &gcc.mux, 188 },
|
||||
{ "gcc_camss_csi_vfe0_clk", &gcc.mux, 191 },
|
||||
{ "gcc_camss_csi0_clk", &gcc.mux, 192 },
|
||||
{ "gcc_camss_csi0_ahb_clk", &gcc.mux, 193 },
|
||||
{ "gcc_camss_csi0phy_clk", &gcc.mux, 194 },
|
||||
{ "gcc_camss_csi0rdi_clk", &gcc.mux, 195 },
|
||||
{ "gcc_camss_csi0pix_clk", &gcc.mux, 196 },
|
||||
{ "gcc_camss_csi1_clk", &gcc.mux, 197 },
|
||||
{ "gcc_camss_csi1_ahb_clk", &gcc.mux, 198 },
|
||||
{ "gcc_camss_csi1phy_clk", &gcc.mux, 199 },
|
||||
{ "gcc_camss_csi2_clk", &gcc.mux, 227 },
|
||||
{ "gcc_camss_csi2_ahb_clk", &gcc.mux, 228 },
|
||||
{ "gcc_camss_csi2phy_clk", &gcc.mux, 229 },
|
||||
{ "gcc_camss_csi2rdi_clk", &gcc.mux, 230 },
|
||||
{ "gcc_camss_csi2pix_clk", &gcc.mux, 231 },
|
||||
{ "gcc_pdm_ahb_clk", &gcc.mux, 208 },
|
||||
{ "gcc_pdm2_clk", &gcc.mux, 210 },
|
||||
{ "gcc_prng_ahb_clk", &gcc.mux, 216 },
|
||||
{ "gcc_camss_csi1rdi_clk", &gcc.mux, 224 },
|
||||
{ "gcc_camss_csi1pix_clk", &gcc.mux, 225 },
|
||||
{ "gcc_camss_ispif_ahb_clk", &gcc.mux, 226 },
|
||||
{ "gcc_boot_rom_ahb_clk", &gcc.mux, 248 },
|
||||
{ "gcc_crypto_clk", &gcc.mux, 312 },
|
||||
{ "gcc_crypto_axi_clk", &gcc.mux, 313 },
|
||||
{ "gcc_crypto_ahb_clk", &gcc.mux, 314 },
|
||||
{ "gcc_oxili_timer_clk", &gcc.mux, 489 },
|
||||
{ "gcc_oxili_gfx3d_clk", &gcc.mux, 490 },
|
||||
{ "gcc_oxili_ahb_clk", &gcc.mux, 491 },
|
||||
{ "gcc_oxili_gmem_clk", &gcc.mux, 496 },
|
||||
{ "gcc_venus0_vcodec0_clk", &gcc.mux, 497 },
|
||||
{ "gcc_venus0_core0_vcodec0_clk", &gcc.mux, 440 },
|
||||
{ "gcc_venus0_core1_vcodec0_clk", &gcc.mux, 441 },
|
||||
{ "gcc_venus0_axi_clk", &gcc.mux, 498 },
|
||||
{ "gcc_venus0_ahb_clk", &gcc.mux, 499 },
|
||||
{ "gcc_mdss_ahb_clk", &gcc.mux, 502 },
|
||||
{ "gcc_mdss_axi_clk", &gcc.mux, 503 },
|
||||
{ "gcc_mdss_pclk0_clk", &gcc.mux, 504 },
|
||||
{ "gcc_mdss_pclk1_clk", &gcc.mux, 442 },
|
||||
{ "gcc_mdss_mdp_clk", &gcc.mux, 505 },
|
||||
{ "gcc_mdss_vsync_clk", &gcc.mux, 507 },
|
||||
{ "gcc_mdss_byte0_clk", &gcc.mux, 508 },
|
||||
{ "gcc_mdss_byte1_clk", &gcc.mux, 443 },
|
||||
{ "gcc_mdss_esc0_clk", &gcc.mux, 509 },
|
||||
{ "gcc_mdss_esc1_clk", &gcc.mux, 444 },
|
||||
{ "gcc_bimc_clk", &gcc.mux, 340 },
|
||||
{ "gcc_bimc_gpu_clk", &gcc.mux, 343 },
|
||||
{ "gcc_bimc_ddr_ch0_clk", &gcc.mux, 346 },
|
||||
{ "gcc_cpp_tbu_clk", &gcc.mux, 233 },
|
||||
{ "gcc_mdp_rt_tbu_clk", &gcc.mux, 238 },
|
||||
{ "wcnss_m_clk", &gcc.mux, 408 },
|
||||
{},
|
||||
};
|
||||
|
||||
|
||||
368
msm8994.c
368
msm8994.c
@@ -12,20 +12,24 @@
|
||||
|
||||
#include "debugcc.h"
|
||||
|
||||
static struct debug_mux gcc = {
|
||||
.phys = 0xfc400000,
|
||||
.size = 0x2000,
|
||||
static struct gcc_mux gcc = {
|
||||
.mux = {
|
||||
.phys = 0xfc400000,
|
||||
.size = 0x2000,
|
||||
|
||||
.enable_reg = 0x1880,
|
||||
.enable_mask = BIT(16),
|
||||
.measure = measure_gcc,
|
||||
|
||||
.mux_reg = 0x1880,
|
||||
.mux_mask = 0x3ff,
|
||||
.enable_reg = 0x1880,
|
||||
.enable_mask = BIT(16),
|
||||
|
||||
.div_reg = 0x1880,
|
||||
.div_shift = 12,
|
||||
.div_mask = 0xf << 12,
|
||||
.div_val = 4,
|
||||
.mux_reg = 0x1880,
|
||||
.mux_mask = 0x3ff,
|
||||
|
||||
.div_reg = 0x1880,
|
||||
.div_shift = 12,
|
||||
.div_mask = 0xf << 12,
|
||||
.div_val = 4,
|
||||
},
|
||||
|
||||
.xo_div4_reg = 0x10c8,
|
||||
.debug_ctl_reg = 0x1884,
|
||||
@@ -37,6 +41,10 @@ static struct debug_mux mmcc = {
|
||||
.size = 0x5200,
|
||||
.block_name = "mm",
|
||||
|
||||
.measure = measure_leaf,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0x2b,
|
||||
|
||||
.enable_reg = 0x900,
|
||||
.enable_mask = BIT(16),
|
||||
|
||||
@@ -45,175 +53,175 @@ static struct debug_mux mmcc = {
|
||||
};
|
||||
|
||||
static struct measure_clk msm8994_clocks[] = {
|
||||
// { "debug_cpu_clk", &gcc, 0x16a },
|
||||
// { "debug_mmss_clk", &gcc, 0x2b },
|
||||
// { "debug_rpm_clk", &gcc, 0xffff },
|
||||
{ "gcc_sys_noc_usb3_axi_clk", &gcc, 0x6 },
|
||||
{ "gcc_mss_q6_bimc_axi_clk", &gcc, 0x31 },
|
||||
{ "gcc_usb30_master_clk", &gcc, 0x50 },
|
||||
{ "gcc_usb30_sleep_clk", &gcc, 0x51 },
|
||||
{ "gcc_usb30_mock_utmi_clk", &gcc, 0x52 },
|
||||
{ "gcc_usb3_phy_aux_clk", &gcc, 0x53 },
|
||||
{ "gcc_usb3_phy_pipe_clk", &gcc, 0x54 },
|
||||
{ "gcc_sys_noc_ufs_axi_clk", &gcc, 0x58 },
|
||||
{ "gcc_usb_hs_system_clk", &gcc, 0x60 },
|
||||
{ "gcc_usb_hs_ahb_clk", &gcc, 0x61 },
|
||||
{ "gcc_usb2_hs_phy_sleep_clk", &gcc, 0x63 },
|
||||
{ "gcc_usb_phy_cfg_ahb2phy_clk", &gcc, 0x64 },
|
||||
{ "gcc_sdcc1_apps_clk", &gcc, 0x68 },
|
||||
{ "gcc_sdcc1_ahb_clk", &gcc, 0x69 },
|
||||
{ "gcc_sdcc2_apps_clk", &gcc, 0x70 },
|
||||
{ "gcc_sdcc2_ahb_clk", &gcc, 0x71 },
|
||||
{ "gcc_sdcc3_apps_clk", &gcc, 0x78 },
|
||||
{ "gcc_sdcc3_ahb_clk", &gcc, 0x79 },
|
||||
{ "gcc_sdcc4_apps_clk", &gcc, 0x80 },
|
||||
{ "gcc_sdcc4_ahb_clk", &gcc, 0x81 },
|
||||
{ "gcc_blsp1_ahb_clk", &gcc, 0x88 },
|
||||
{ "gcc_blsp1_qup1_spi_apps_clk", &gcc, 0x8a },
|
||||
{ "gcc_blsp1_qup1_i2c_apps_clk", &gcc, 0x8b },
|
||||
{ "gcc_blsp1_uart1_apps_clk", &gcc, 0x8c },
|
||||
{ "gcc_blsp1_qup2_spi_apps_clk", &gcc, 0x8e },
|
||||
{ "gcc_blsp1_qup2_i2c_apps_clk", &gcc, 0x90 },
|
||||
{ "gcc_blsp1_uart2_apps_clk", &gcc, 0x91 },
|
||||
{ "gcc_blsp1_qup3_spi_apps_clk", &gcc, 0x93 },
|
||||
{ "gcc_blsp1_qup3_i2c_apps_clk", &gcc, 0x94 },
|
||||
{ "gcc_blsp1_uart3_apps_clk", &gcc, 0x95 },
|
||||
{ "gcc_blsp1_qup4_spi_apps_clk", &gcc, 0x98 },
|
||||
{ "gcc_blsp1_qup4_i2c_apps_clk", &gcc, 0x99 },
|
||||
{ "gcc_blsp1_uart4_apps_clk", &gcc, 0x9a },
|
||||
{ "gcc_blsp1_qup5_spi_apps_clk", &gcc, 0x9c },
|
||||
{ "gcc_blsp1_qup5_i2c_apps_clk", &gcc, 0x9d },
|
||||
{ "gcc_blsp1_uart5_apps_clk", &gcc, 0x9e },
|
||||
{ "gcc_blsp1_qup6_spi_apps_clk", &gcc, 0xa1 },
|
||||
{ "gcc_blsp1_qup6_i2c_apps_clk", &gcc, 0xa2 },
|
||||
{ "gcc_blsp1_uart6_apps_clk", &gcc, 0xa3 },
|
||||
{ "gcc_blsp2_ahb_clk", &gcc, 0xa8 },
|
||||
{ "gcc_blsp2_qup1_spi_apps_clk", &gcc, 0xaa },
|
||||
{ "gcc_blsp2_qup1_i2c_apps_clk", &gcc, 0xab },
|
||||
{ "gcc_blsp2_uart1_apps_clk", &gcc, 0xac },
|
||||
{ "gcc_blsp2_qup2_spi_apps_clk", &gcc, 0xae },
|
||||
{ "gcc_blsp2_qup2_i2c_apps_clk", &gcc, 0xb0 },
|
||||
{ "gcc_blsp2_uart2_apps_clk", &gcc, 0xb1 },
|
||||
{ "gcc_blsp2_qup3_spi_apps_clk", &gcc, 0xb3 },
|
||||
{ "gcc_blsp2_qup3_i2c_apps_clk", &gcc, 0xb4 },
|
||||
{ "gcc_blsp2_uart3_apps_clk", &gcc, 0xb5 },
|
||||
{ "gcc_blsp2_qup4_spi_apps_clk", &gcc, 0xb8 },
|
||||
{ "gcc_blsp2_qup4_i2c_apps_clk", &gcc, 0xb9 },
|
||||
{ "gcc_blsp2_uart4_apps_clk", &gcc, 0xba },
|
||||
{ "gcc_blsp2_qup5_spi_apps_clk", &gcc, 0xbc },
|
||||
{ "gcc_blsp2_qup5_i2c_apps_clk", &gcc, 0xbd },
|
||||
{ "gcc_blsp2_uart5_apps_clk", &gcc, 0xbe },
|
||||
{ "gcc_blsp2_qup6_spi_apps_clk", &gcc, 0xc1 },
|
||||
{ "gcc_blsp2_qup6_i2c_apps_clk", &gcc, 0xc2 },
|
||||
{ "gcc_blsp2_uart6_apps_clk", &gcc, 0xc3 },
|
||||
{ "gcc_pdm_ahb_clk", &gcc, 0xd0 },
|
||||
{ "gcc_pdm2_clk", &gcc, 0xd2 },
|
||||
{ "gcc_prng_ahb_clk", &gcc, 0xd8 },
|
||||
{ "gcc_bam_dma_ahb_clk", &gcc, 0xe0 },
|
||||
{ "gcc_tsif_ahb_clk", &gcc, 0xe8 },
|
||||
{ "gcc_tsif_ref_clk", &gcc, 0xe9 },
|
||||
{ "gcc_boot_rom_ahb_clk", &gcc, 0xf8 },
|
||||
{ "gcc_lpass_q6_axi_clk", &gcc, 0x160 },
|
||||
{ "gcc_pcie_0_slv_axi_clk", &gcc, 0x1e8 },
|
||||
{ "gcc_pcie_0_mstr_axi_clk", &gcc, 0x1e9 },
|
||||
{ "gcc_pcie_0_cfg_ahb_clk", &gcc, 0x1ea },
|
||||
{ "gcc_pcie_0_aux_clk", &gcc, 0x1eb },
|
||||
{ "gcc_pcie_0_pipe_clk", &gcc, 0x1ec },
|
||||
{ "gcc_pcie_1_slv_axi_clk", &gcc, 0x1f0 },
|
||||
{ "gcc_pcie_1_mstr_axi_clk", &gcc, 0x1f1 },
|
||||
{ "gcc_pcie_1_cfg_ahb_clk", &gcc, 0x1f2 },
|
||||
{ "gcc_pcie_1_aux_clk", &gcc, 0x1f3 },
|
||||
{ "gcc_pcie_1_pipe_clk", &gcc, 0x1f4 },
|
||||
{ "gcc_ufs_axi_clk", &gcc, 0x230 },
|
||||
{ "gcc_ufs_ahb_clk", &gcc, 0x231 },
|
||||
{ "gcc_ufs_tx_cfg_clk", &gcc, 0x232 },
|
||||
{ "gcc_ufs_rx_cfg_clk", &gcc, 0x233 },
|
||||
{ "gcc_ufs_tx_symbol_0_clk", &gcc, 0x234 },
|
||||
{ "gcc_ufs_tx_symbol_1_clk", &gcc, 0x235 },
|
||||
{ "gcc_ufs_rx_symbol_0_clk", &gcc, 0x236 },
|
||||
{ "gcc_ufs_rx_symbol_1_clk", &gcc, 0x237 },
|
||||
{ "mmsscc_mmssnoc_ahb", &gcc, 0x2b, &mmcc, 0x1 },
|
||||
{ "oxili_gfx3d_clk", &gcc, 0x2b, &mmcc, 0xd },
|
||||
{ "mmss_misc_ahb_clk", &gcc, 0x2b, &mmcc, 0x3 },
|
||||
{ "mmss_mmssnoc_axi_clk", &gcc, 0x2b, &mmcc, 0x4 },
|
||||
{ "mmss_s0_axi_clk", &gcc, 0x2b, &mmcc, 0x5 },
|
||||
{ "ocmemcx_ocmemnoc_clk", &gcc, 0x2b, &mmcc, 0x9 },
|
||||
{ "oxilicx_ahb_clk", &gcc, 0x2b, &mmcc, 0xc },
|
||||
{ "venus0_vcodec0_clk", &gcc, 0x2b, &mmcc, 0xe },
|
||||
{ "venus0_axi_clk", &gcc, 0x2b, &mmcc, 0xf },
|
||||
{ "venus0_ocmemnoc_clk", &gcc, 0x2b, &mmcc, 0x10 },
|
||||
{ "venus0_ahb_clk", &gcc, 0x2b, &mmcc, 0x11 },
|
||||
{ "mdss_mdp_clk", &gcc, 0x2b, &mmcc, 0x14 },
|
||||
{ "mdss_pclk0_clk", &gcc, 0x2b, &mmcc, 0x16 },
|
||||
{ "mdss_pclk1_clk", &gcc, 0x2b, &mmcc, 0x17 },
|
||||
{ "mdss_extpclk_clk", &gcc, 0x2b, &mmcc, 0x18 },
|
||||
{ "venus0_core0_vcodec_clk", &gcc, 0x2b, &mmcc, 0x1a },
|
||||
{ "venus0_core1_vcodec_clk", &gcc, 0x2b, &mmcc, 0x1b },
|
||||
{ "mdss_vsync_clk", &gcc, 0x2b, &mmcc, 0x1c },
|
||||
{ "mdss_hdmi_clk", &gcc, 0x2b, &mmcc, 0x1d },
|
||||
{ "mdss_byte0_clk", &gcc, 0x2b, &mmcc, 0x1e },
|
||||
{ "mdss_byte1_clk", &gcc, 0x2b, &mmcc, 0x1f },
|
||||
{ "mdss_esc0_clk", &gcc, 0x2b, &mmcc, 0x20 },
|
||||
{ "mdss_esc1_clk", &gcc, 0x2b, &mmcc, 0x21 },
|
||||
{ "mdss_ahb_clk", &gcc, 0x2b, &mmcc, 0x22 },
|
||||
{ "mdss_hdmi_ahb_clk", &gcc, 0x2b, &mmcc, 0x23 },
|
||||
{ "mdss_axi_clk", &gcc, 0x2b, &mmcc, 0x24 },
|
||||
{ "camss_top_ahb_clk", &gcc, 0x2b, &mmcc, 0x25 },
|
||||
{ "camss_micro_ahb_clk", &gcc, 0x2b, &mmcc, 0x26 },
|
||||
{ "camss_gp0_clk", &gcc, 0x2b, &mmcc, 0x27 },
|
||||
{ "camss_gp1_clk", &gcc, 0x2b, &mmcc, 0x28 },
|
||||
{ "camss_mclk0_clk", &gcc, 0x2b, &mmcc, 0x29 },
|
||||
{ "camss_mclk1_clk", &gcc, 0x2b, &mmcc, 0x2a },
|
||||
{ "camss_mclk2_clk", &gcc, 0x2b, &mmcc, 0x2b },
|
||||
{ "camss_mclk3_clk", &gcc, 0x2b, &mmcc, 0x2c },
|
||||
{ "camss_cci_cci_clk", &gcc, 0x2b, &mmcc, 0x2d },
|
||||
{ "camss_cci_cci_ahb_clk", &gcc, 0x2b, &mmcc, 0x2e },
|
||||
{ "camss_phy0_csi0phytimer_clk", &gcc, 0x2b, &mmcc, 0x2f },
|
||||
{ "camss_phy1_csi1phytimer_clk", &gcc, 0x2b, &mmcc, 0x30 },
|
||||
{ "camss_phy2_csi2phytimer_clk", &gcc, 0x2b, &mmcc, 0x31 },
|
||||
{ "camss_jpeg_jpeg0_clk", &gcc, 0x2b, &mmcc, 0x32 },
|
||||
{ "camss_jpeg_jpeg1_clk", &gcc, 0x2b, &mmcc, 0x33 },
|
||||
{ "camss_jpeg_jpeg2_clk", &gcc, 0x2b, &mmcc, 0x34 },
|
||||
{ "camss_jpeg_jpeg_ahb_clk", &gcc, 0x2b, &mmcc, 0x35 },
|
||||
{ "camss_jpeg_jpeg_axi_clk", &gcc, 0x2b, &mmcc, 0x36 },
|
||||
{ "camss_ahb_clk", &gcc, 0x2b, &mmcc, 0x37 },
|
||||
{ "camss_vfe_vfe0_clk", &gcc, 0x2b, &mmcc, 0x38 },
|
||||
{ "camss_vfe_vfe1_clk", &gcc, 0x2b, &mmcc, 0x39 },
|
||||
{ "camss_vfe_cpp_clk", &gcc, 0x2b, &mmcc, 0x3a },
|
||||
{ "camss_vfe_cpp_ahb_clk", &gcc, 0x2b, &mmcc, 0x3b },
|
||||
{ "camss_vfe_vfe_ahb_clk", &gcc, 0x2b, &mmcc, 0x3c },
|
||||
{ "camss_vfe_vfe_axi_clk", &gcc, 0x2b, &mmcc, 0x3d },
|
||||
{ "oxili_rbbmtimer_clk", &gcc, 0x2b, &mmcc, 0x3e },
|
||||
{ "camss_csi_vfe0_clk", &gcc, 0x2b, &mmcc, 0x3f },
|
||||
{ "camss_csi_vfe1_clk", &gcc, 0x2b, &mmcc, 0x40 },
|
||||
{ "camss_csi0_clk", &gcc, 0x2b, &mmcc, 0x41 },
|
||||
{ "camss_csi0_ahb_clk", &gcc, 0x2b, &mmcc, 0x42 },
|
||||
{ "camss_csi0phy_clk", &gcc, 0x2b, &mmcc, 0x43 },
|
||||
{ "camss_csi0rdi_clk", &gcc, 0x2b, &mmcc, 0x44 },
|
||||
{ "camss_csi0pix_clk", &gcc, 0x2b, &mmcc, 0x45 },
|
||||
{ "camss_csi1_clk", &gcc, 0x2b, &mmcc, 0x46 },
|
||||
{ "camss_csi1_ahb_clk", &gcc, 0x2b, &mmcc, 0x47 },
|
||||
{ "camss_csi1phy_clk", &gcc, 0x2b, &mmcc, 0x48 },
|
||||
{ "camss_csi1rdi_clk", &gcc, 0x2b, &mmcc, 0x49 },
|
||||
{ "camss_csi1pix_clk", &gcc, 0x2b, &mmcc, 0x4a },
|
||||
{ "camss_csi2_clk", &gcc, 0x2b, &mmcc, 0x4b },
|
||||
{ "camss_csi2_ahb_clk", &gcc, 0x2b, &mmcc, 0x4c },
|
||||
{ "camss_csi2phy_clk", &gcc, 0x2b, &mmcc, 0x4d },
|
||||
{ "camss_csi2rdi_clk", &gcc, 0x2b, &mmcc, 0x4e },
|
||||
{ "camss_csi2pix_clk", &gcc, 0x2b, &mmcc, 0x4f },
|
||||
{ "camss_csi3_clk", &gcc, 0x2b, &mmcc, 0x50 },
|
||||
{ "camss_csi3_ahb_clk", &gcc, 0x2b, &mmcc, 0x51 },
|
||||
{ "camss_csi3phy_clk", &gcc, 0x2b, &mmcc, 0x52 },
|
||||
{ "camss_csi3rdi_clk", &gcc, 0x2b, &mmcc, 0x53 },
|
||||
{ "camss_csi3pix_clk", &gcc, 0x2b, &mmcc, 0x54 },
|
||||
{ "camss_ispif_ahb_clk", &gcc, 0x2b, &mmcc, 0x55 },
|
||||
{ "venus0_core2_vcodec_clk", &gcc, 0x2b, &mmcc, 0x79 },
|
||||
{ "camss_vfe_cpp_axi_clk", &gcc, 0x2b, &mmcc, 0x7a },
|
||||
{ "camss_jpeg_dma_clk", &gcc, 0x2b, &mmcc, 0x7b },
|
||||
{ "fd_core_clk", &gcc, 0x2b, &mmcc, 0x89 },
|
||||
{ "fd_core_uar_clk", &gcc, 0x2b, &mmcc, 0x8a },
|
||||
{ "fd_axi_clk", &gcc, 0x2b, &mmcc, 0x8b },
|
||||
{ "fd_ahb_clk", &gcc, 0x2b, &mmcc, 0x8c },
|
||||
// { "debug_cpu_clk", &gcc.mux, 0x16a },
|
||||
|
||||
{ "gcc_sys_noc_usb3_axi_clk", &gcc.mux, 0x6 },
|
||||
{ "gcc_mss_q6_bimc_axi_clk", &gcc.mux, 0x31 },
|
||||
{ "gcc_usb30_master_clk", &gcc.mux, 0x50 },
|
||||
{ "gcc_usb30_sleep_clk", &gcc.mux, 0x51 },
|
||||
{ "gcc_usb30_mock_utmi_clk", &gcc.mux, 0x52 },
|
||||
{ "gcc_usb3_phy_aux_clk", &gcc.mux, 0x53 },
|
||||
{ "gcc_usb3_phy_pipe_clk", &gcc.mux, 0x54 },
|
||||
{ "gcc_sys_noc_ufs_axi_clk", &gcc.mux, 0x58 },
|
||||
{ "gcc_usb_hs_system_clk", &gcc.mux, 0x60 },
|
||||
{ "gcc_usb_hs_ahb_clk", &gcc.mux, 0x61 },
|
||||
{ "gcc_usb2_hs_phy_sleep_clk", &gcc.mux, 0x63 },
|
||||
{ "gcc_usb_phy_cfg_ahb2phy_clk", &gcc.mux, 0x64 },
|
||||
{ "gcc_sdcc1_apps_clk", &gcc.mux, 0x68 },
|
||||
{ "gcc_sdcc1_ahb_clk", &gcc.mux, 0x69 },
|
||||
{ "gcc_sdcc2_apps_clk", &gcc.mux, 0x70 },
|
||||
{ "gcc_sdcc2_ahb_clk", &gcc.mux, 0x71 },
|
||||
{ "gcc_sdcc3_apps_clk", &gcc.mux, 0x78 },
|
||||
{ "gcc_sdcc3_ahb_clk", &gcc.mux, 0x79 },
|
||||
{ "gcc_sdcc4_apps_clk", &gcc.mux, 0x80 },
|
||||
{ "gcc_sdcc4_ahb_clk", &gcc.mux, 0x81 },
|
||||
{ "gcc_blsp1_ahb_clk", &gcc.mux, 0x88 },
|
||||
{ "gcc_blsp1_qup1_spi_apps_clk", &gcc.mux, 0x8a },
|
||||
{ "gcc_blsp1_qup1_i2c_apps_clk", &gcc.mux, 0x8b },
|
||||
{ "gcc_blsp1_uart1_apps_clk", &gcc.mux, 0x8c },
|
||||
{ "gcc_blsp1_qup2_spi_apps_clk", &gcc.mux, 0x8e },
|
||||
{ "gcc_blsp1_qup2_i2c_apps_clk", &gcc.mux, 0x90 },
|
||||
{ "gcc_blsp1_uart2_apps_clk", &gcc.mux, 0x91 },
|
||||
{ "gcc_blsp1_qup3_spi_apps_clk", &gcc.mux, 0x93 },
|
||||
{ "gcc_blsp1_qup3_i2c_apps_clk", &gcc.mux, 0x94 },
|
||||
{ "gcc_blsp1_uart3_apps_clk", &gcc.mux, 0x95 },
|
||||
{ "gcc_blsp1_qup4_spi_apps_clk", &gcc.mux, 0x98 },
|
||||
{ "gcc_blsp1_qup4_i2c_apps_clk", &gcc.mux, 0x99 },
|
||||
{ "gcc_blsp1_uart4_apps_clk", &gcc.mux, 0x9a },
|
||||
{ "gcc_blsp1_qup5_spi_apps_clk", &gcc.mux, 0x9c },
|
||||
{ "gcc_blsp1_qup5_i2c_apps_clk", &gcc.mux, 0x9d },
|
||||
{ "gcc_blsp1_uart5_apps_clk", &gcc.mux, 0x9e },
|
||||
{ "gcc_blsp1_qup6_spi_apps_clk", &gcc.mux, 0xa1 },
|
||||
{ "gcc_blsp1_qup6_i2c_apps_clk", &gcc.mux, 0xa2 },
|
||||
{ "gcc_blsp1_uart6_apps_clk", &gcc.mux, 0xa3 },
|
||||
{ "gcc_blsp2_ahb_clk", &gcc.mux, 0xa8 },
|
||||
{ "gcc_blsp2_qup1_spi_apps_clk", &gcc.mux, 0xaa },
|
||||
{ "gcc_blsp2_qup1_i2c_apps_clk", &gcc.mux, 0xab },
|
||||
{ "gcc_blsp2_uart1_apps_clk", &gcc.mux, 0xac },
|
||||
{ "gcc_blsp2_qup2_spi_apps_clk", &gcc.mux, 0xae },
|
||||
{ "gcc_blsp2_qup2_i2c_apps_clk", &gcc.mux, 0xb0 },
|
||||
{ "gcc_blsp2_uart2_apps_clk", &gcc.mux, 0xb1 },
|
||||
{ "gcc_blsp2_qup3_spi_apps_clk", &gcc.mux, 0xb3 },
|
||||
{ "gcc_blsp2_qup3_i2c_apps_clk", &gcc.mux, 0xb4 },
|
||||
{ "gcc_blsp2_uart3_apps_clk", &gcc.mux, 0xb5 },
|
||||
{ "gcc_blsp2_qup4_spi_apps_clk", &gcc.mux, 0xb8 },
|
||||
{ "gcc_blsp2_qup4_i2c_apps_clk", &gcc.mux, 0xb9 },
|
||||
{ "gcc_blsp2_uart4_apps_clk", &gcc.mux, 0xba },
|
||||
{ "gcc_blsp2_qup5_spi_apps_clk", &gcc.mux, 0xbc },
|
||||
{ "gcc_blsp2_qup5_i2c_apps_clk", &gcc.mux, 0xbd },
|
||||
{ "gcc_blsp2_uart5_apps_clk", &gcc.mux, 0xbe },
|
||||
{ "gcc_blsp2_qup6_spi_apps_clk", &gcc.mux, 0xc1 },
|
||||
{ "gcc_blsp2_qup6_i2c_apps_clk", &gcc.mux, 0xc2 },
|
||||
{ "gcc_blsp2_uart6_apps_clk", &gcc.mux, 0xc3 },
|
||||
{ "gcc_pdm_ahb_clk", &gcc.mux, 0xd0 },
|
||||
{ "gcc_pdm2_clk", &gcc.mux, 0xd2 },
|
||||
{ "gcc_prng_ahb_clk", &gcc.mux, 0xd8 },
|
||||
{ "gcc_bam_dma_ahb_clk", &gcc.mux, 0xe0 },
|
||||
{ "gcc_tsif_ahb_clk", &gcc.mux, 0xe8 },
|
||||
{ "gcc_tsif_ref_clk", &gcc.mux, 0xe9 },
|
||||
{ "gcc_boot_rom_ahb_clk", &gcc.mux, 0xf8 },
|
||||
{ "gcc_lpass_q6_axi_clk", &gcc.mux, 0x160 },
|
||||
{ "gcc_pcie_0_slv_axi_clk", &gcc.mux, 0x1e8 },
|
||||
{ "gcc_pcie_0_mstr_axi_clk", &gcc.mux, 0x1e9 },
|
||||
{ "gcc_pcie_0_cfg_ahb_clk", &gcc.mux, 0x1ea },
|
||||
{ "gcc_pcie_0_aux_clk", &gcc.mux, 0x1eb },
|
||||
{ "gcc_pcie_0_pipe_clk", &gcc.mux, 0x1ec },
|
||||
{ "gcc_pcie_1_slv_axi_clk", &gcc.mux, 0x1f0 },
|
||||
{ "gcc_pcie_1_mstr_axi_clk", &gcc.mux, 0x1f1 },
|
||||
{ "gcc_pcie_1_cfg_ahb_clk", &gcc.mux, 0x1f2 },
|
||||
{ "gcc_pcie_1_aux_clk", &gcc.mux, 0x1f3 },
|
||||
{ "gcc_pcie_1_pipe_clk", &gcc.mux, 0x1f4 },
|
||||
{ "gcc_ufs_axi_clk", &gcc.mux, 0x230 },
|
||||
{ "gcc_ufs_ahb_clk", &gcc.mux, 0x231 },
|
||||
{ "gcc_ufs_tx_cfg_clk", &gcc.mux, 0x232 },
|
||||
{ "gcc_ufs_rx_cfg_clk", &gcc.mux, 0x233 },
|
||||
{ "gcc_ufs_tx_symbol_0_clk", &gcc.mux, 0x234 },
|
||||
{ "gcc_ufs_tx_symbol_1_clk", &gcc.mux, 0x235 },
|
||||
{ "gcc_ufs_rx_symbol_0_clk", &gcc.mux, 0x236 },
|
||||
{ "gcc_ufs_rx_symbol_1_clk", &gcc.mux, 0x237 },
|
||||
|
||||
{ "mmsscc_mmssnoc_ahb", &mmcc, 0x1 },
|
||||
{ "oxili_gfx3d_clk", &mmcc, 0xd },
|
||||
{ "mmss_misc_ahb_clk", &mmcc, 0x3 },
|
||||
{ "mmss_mmssnoc_axi_clk", &mmcc, 0x4 },
|
||||
{ "mmss_s0_axi_clk", &mmcc, 0x5 },
|
||||
{ "ocmemcx_ocmemnoc_clk", &mmcc, 0x9 },
|
||||
{ "oxilicx_ahb_clk", &mmcc, 0xc },
|
||||
{ "venus0_vcodec0_clk", &mmcc, 0xe },
|
||||
{ "venus0_axi_clk", &mmcc, 0xf },
|
||||
{ "venus0_ocmemnoc_clk", &mmcc, 0x10 },
|
||||
{ "venus0_ahb_clk", &mmcc, 0x11 },
|
||||
{ "mdss_mdp_clk", &mmcc, 0x14 },
|
||||
{ "mdss_pclk0_clk", &mmcc, 0x16 },
|
||||
{ "mdss_pclk1_clk", &mmcc, 0x17 },
|
||||
{ "mdss_extpclk_clk", &mmcc, 0x18 },
|
||||
{ "venus0_core0_vcodec_clk", &mmcc, 0x1a },
|
||||
{ "venus0_core1_vcodec_clk", &mmcc, 0x1b },
|
||||
{ "mdss_vsync_clk", &mmcc, 0x1c },
|
||||
{ "mdss_hdmi_clk", &mmcc, 0x1d },
|
||||
{ "mdss_byte0_clk", &mmcc, 0x1e },
|
||||
{ "mdss_byte1_clk", &mmcc, 0x1f },
|
||||
{ "mdss_esc0_clk", &mmcc, 0x20 },
|
||||
{ "mdss_esc1_clk", &mmcc, 0x21 },
|
||||
{ "mdss_ahb_clk", &mmcc, 0x22 },
|
||||
{ "mdss_hdmi_ahb_clk", &mmcc, 0x23 },
|
||||
{ "mdss_axi_clk", &mmcc, 0x24 },
|
||||
{ "camss_top_ahb_clk", &mmcc, 0x25 },
|
||||
{ "camss_micro_ahb_clk", &mmcc, 0x26 },
|
||||
{ "camss_gp0_clk", &mmcc, 0x27 },
|
||||
{ "camss_gp1_clk", &mmcc, 0x28 },
|
||||
{ "camss_mclk0_clk", &mmcc, 0x29 },
|
||||
{ "camss_mclk1_clk", &mmcc, 0x2a },
|
||||
{ "camss_mclk2_clk", &mmcc, 0x2b },
|
||||
{ "camss_mclk3_clk", &mmcc, 0x2c },
|
||||
{ "camss_cci_cci_clk", &mmcc, 0x2d },
|
||||
{ "camss_cci_cci_ahb_clk", &mmcc, 0x2e },
|
||||
{ "camss_phy0_csi0phytimer_clk", &mmcc, 0x2f },
|
||||
{ "camss_phy1_csi1phytimer_clk", &mmcc, 0x30 },
|
||||
{ "camss_phy2_csi2phytimer_clk", &mmcc, 0x31 },
|
||||
{ "camss_jpeg_jpeg0_clk", &mmcc, 0x32 },
|
||||
{ "camss_jpeg_jpeg1_clk", &mmcc, 0x33 },
|
||||
{ "camss_jpeg_jpeg2_clk", &mmcc, 0x34 },
|
||||
{ "camss_jpeg_jpeg_ahb_clk", &mmcc, 0x35 },
|
||||
{ "camss_jpeg_jpeg_axi_clk", &mmcc, 0x36 },
|
||||
{ "camss_ahb_clk", &mmcc, 0x37 },
|
||||
{ "camss_vfe_vfe0_clk", &mmcc, 0x38 },
|
||||
{ "camss_vfe_vfe1_clk", &mmcc, 0x39 },
|
||||
{ "camss_vfe_cpp_clk", &mmcc, 0x3a },
|
||||
{ "camss_vfe_cpp_ahb_clk", &mmcc, 0x3b },
|
||||
{ "camss_vfe_vfe_ahb_clk", &mmcc, 0x3c },
|
||||
{ "camss_vfe_vfe_axi_clk", &mmcc, 0x3d },
|
||||
{ "oxili_rbbmtimer_clk", &mmcc, 0x3e },
|
||||
{ "camss_csi_vfe0_clk", &mmcc, 0x3f },
|
||||
{ "camss_csi_vfe1_clk", &mmcc, 0x40 },
|
||||
{ "camss_csi0_clk", &mmcc, 0x41 },
|
||||
{ "camss_csi0_ahb_clk", &mmcc, 0x42 },
|
||||
{ "camss_csi0phy_clk", &mmcc, 0x43 },
|
||||
{ "camss_csi0rdi_clk", &mmcc, 0x44 },
|
||||
{ "camss_csi0pix_clk", &mmcc, 0x45 },
|
||||
{ "camss_csi1_clk", &mmcc, 0x46 },
|
||||
{ "camss_csi1_ahb_clk", &mmcc, 0x47 },
|
||||
{ "camss_csi1phy_clk", &mmcc, 0x48 },
|
||||
{ "camss_csi1rdi_clk", &mmcc, 0x49 },
|
||||
{ "camss_csi1pix_clk", &mmcc, 0x4a },
|
||||
{ "camss_csi2_clk", &mmcc, 0x4b },
|
||||
{ "camss_csi2_ahb_clk", &mmcc, 0x4c },
|
||||
{ "camss_csi2phy_clk", &mmcc, 0x4d },
|
||||
{ "camss_csi2rdi_clk", &mmcc, 0x4e },
|
||||
{ "camss_csi2pix_clk", &mmcc, 0x4f },
|
||||
{ "camss_csi3_clk", &mmcc, 0x50 },
|
||||
{ "camss_csi3_ahb_clk", &mmcc, 0x51 },
|
||||
{ "camss_csi3phy_clk", &mmcc, 0x52 },
|
||||
{ "camss_csi3rdi_clk", &mmcc, 0x53 },
|
||||
{ "camss_csi3pix_clk", &mmcc, 0x54 },
|
||||
{ "camss_ispif_ahb_clk", &mmcc, 0x55 },
|
||||
{ "venus0_core2_vcodec_clk", &mmcc, 0x79 },
|
||||
{ "camss_vfe_cpp_axi_clk", &mmcc, 0x7a },
|
||||
{ "camss_jpeg_dma_clk", &mmcc, 0x7b },
|
||||
{ "fd_core_clk", &mmcc, 0x89 },
|
||||
{ "fd_core_uar_clk", &mmcc, 0x8a },
|
||||
{ "fd_axi_clk", &mmcc, 0x8b },
|
||||
{ "fd_ahb_clk", &mmcc, 0x8c },
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
399
msm8998.c
399
msm8998.c
@@ -12,19 +12,23 @@
|
||||
|
||||
#include "debugcc.h"
|
||||
|
||||
static struct debug_mux gcc = {
|
||||
.phys = 0x100000,
|
||||
.size = 0xb0000,
|
||||
static struct gcc_mux gcc = {
|
||||
.mux = {
|
||||
.phys = 0x100000,
|
||||
.size = 0xb0000,
|
||||
|
||||
.enable_reg = 0x62000,
|
||||
.enable_mask = BIT(16),
|
||||
.measure = measure_gcc,
|
||||
|
||||
.mux_reg = 0x62000,
|
||||
.mux_mask = 0x3ff,
|
||||
.enable_reg = 0x62000,
|
||||
.enable_mask = BIT(16),
|
||||
|
||||
.div_reg = 0x62000,
|
||||
.div_mask = 0xf,
|
||||
.div_val = 4,
|
||||
.mux_reg = 0x62000,
|
||||
.mux_mask = 0x3ff,
|
||||
|
||||
.div_reg = 0x62000,
|
||||
.div_mask = 0xf,
|
||||
.div_val = 4,
|
||||
},
|
||||
|
||||
.xo_div4_reg = 0x43008,
|
||||
.debug_ctl_reg = 0x62004,
|
||||
@@ -36,6 +40,10 @@ static struct debug_mux mm_cc = {
|
||||
.size = 0x40000,
|
||||
.block_name = "mm",
|
||||
|
||||
.measure = measure_leaf,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0x22,
|
||||
|
||||
.enable_reg = 0x900,
|
||||
.enable_mask = BIT(16),
|
||||
|
||||
@@ -48,6 +56,10 @@ static struct debug_mux gpu_cc = {
|
||||
.size = 0x9000,
|
||||
.block_name = "gpu",
|
||||
|
||||
.measure = measure_leaf,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0x13d,
|
||||
|
||||
.enable_reg = 0x120,
|
||||
.enable_mask = BIT(16),
|
||||
|
||||
@@ -56,194 +68,191 @@ static struct debug_mux gpu_cc = {
|
||||
};
|
||||
|
||||
static struct measure_clk msm8998_clocks[] = {
|
||||
// { "gpu_gcc_debug_clk", &gcc, 0x13d },
|
||||
// { "gfx_gcc_debug_clk", &gcc, 0x13d },
|
||||
// { "debug_mmss_clk", &gcc, 0x22 },
|
||||
// { "debug_cpu_clk", &gcc, 0xc0 },
|
||||
// { "debug_cpu_clk", &gcc.mux, 0xc0 },
|
||||
|
||||
{ "snoc_clk", &gcc, 0x0 },
|
||||
{ "cnoc_clk", &gcc, 0xe },
|
||||
{ "bimc_clk", &gcc, 0x14e },
|
||||
{ "gcc_mmss_sys_noc_axi_clk", &gcc, 0x1f },
|
||||
{ "gcc_mmss_noc_cfg_ahb_clk", &gcc, 0x20 },
|
||||
{ "gcc_usb30_master_clk", &gcc, 0x3e },
|
||||
{ "gcc_usb30_sleep_clk", &gcc, 0x3f },
|
||||
{ "gcc_usb30_mock_utmi_clk", &gcc, 0x40 },
|
||||
{ "gcc_usb3_phy_aux_clk", &gcc, 0x41 },
|
||||
{ "gcc_usb3_phy_pipe_clk", &gcc, 0x42 },
|
||||
{ "gcc_sdcc2_apps_clk", &gcc, 0x46 },
|
||||
{ "gcc_sdcc2_ahb_clk", &gcc, 0x47 },
|
||||
{ "gcc_sdcc4_apps_clk", &gcc, 0x48 },
|
||||
{ "gcc_sdcc4_ahb_clk", &gcc, 0x49 },
|
||||
{ "gcc_blsp1_ahb_clk", &gcc, 0x4a },
|
||||
{ "gcc_blsp1_qup1_spi_apps_clk", &gcc, 0x4c },
|
||||
{ "gcc_blsp1_qup1_i2c_apps_clk", &gcc, 0x4d },
|
||||
{ "gcc_blsp1_uart1_apps_clk", &gcc, 0x4e },
|
||||
{ "gcc_blsp1_qup2_spi_apps_clk", &gcc, 0x50 },
|
||||
{ "gcc_blsp1_qup2_i2c_apps_clk", &gcc, 0x51 },
|
||||
{ "gcc_blsp1_uart2_apps_clk", &gcc, 0x52 },
|
||||
{ "gcc_blsp1_qup3_spi_apps_clk", &gcc, 0x54 },
|
||||
{ "gcc_blsp1_qup3_i2c_apps_clk", &gcc, 0x55 },
|
||||
{ "gcc_blsp1_uart3_apps_clk", &gcc, 0x56 },
|
||||
{ "gcc_blsp1_qup4_spi_apps_clk", &gcc, 0x58 },
|
||||
{ "gcc_blsp1_qup4_i2c_apps_clk", &gcc, 0x59 },
|
||||
{ "gcc_blsp1_qup5_spi_apps_clk", &gcc, 0x5a },
|
||||
{ "gcc_blsp1_qup5_i2c_apps_clk", &gcc, 0x5b },
|
||||
{ "gcc_blsp1_qup6_spi_apps_clk", &gcc, 0x5c },
|
||||
{ "gcc_blsp1_qup6_i2c_apps_clk", &gcc, 0x5d },
|
||||
{ "gcc_blsp2_ahb_clk", &gcc, 0x5e },
|
||||
{ "gcc_blsp2_qup1_spi_apps_clk", &gcc, 0x60 },
|
||||
{ "gcc_blsp2_qup1_i2c_apps_clk", &gcc, 0x61 },
|
||||
{ "gcc_blsp2_uart1_apps_clk", &gcc, 0x62 },
|
||||
{ "gcc_blsp2_qup2_spi_apps_clk", &gcc, 0x64 },
|
||||
{ "gcc_blsp2_qup2_i2c_apps_clk", &gcc, 0x65 },
|
||||
{ "gcc_blsp2_uart2_apps_clk", &gcc, 0x66 },
|
||||
{ "gcc_blsp2_qup3_spi_apps_clk", &gcc, 0x68 },
|
||||
{ "gcc_blsp2_qup3_i2c_apps_clk", &gcc, 0x69 },
|
||||
{ "gcc_blsp2_uart3_apps_clk", &gcc, 0x6a },
|
||||
{ "gcc_blsp2_qup4_spi_apps_clk", &gcc, 0x6c },
|
||||
{ "gcc_blsp2_qup4_i2c_apps_clk", &gcc, 0x6d },
|
||||
{ "gcc_blsp2_qup5_spi_apps_clk", &gcc, 0x6e },
|
||||
{ "gcc_blsp2_qup5_i2c_apps_clk", &gcc, 0x6f },
|
||||
{ "gcc_blsp2_qup6_spi_apps_clk", &gcc, 0x70 },
|
||||
{ "gcc_blsp2_qup6_i2c_apps_clk", &gcc, 0x71 },
|
||||
{ "gcc_pdm_ahb_clk", &gcc, 0x72 },
|
||||
{ "gcc_pdm2_clk", &gcc, 0x74},
|
||||
{ "gcc_prng_ahb_clk", &gcc, 0x75 },
|
||||
{ "gcc_tsif_ahb_clk", &gcc, 0x76 },
|
||||
{ "gcc_tsif_ref_clk", &gcc, 0x77 },
|
||||
{ "gcc_boot_rom_ahb_clk", &gcc, 0x7a },
|
||||
{ "ce1_clk", &gcc, 0x97 },
|
||||
{ "gcc_ce1_axi_m_clk", &gcc, 0x98 },
|
||||
{ "gcc_ce1_ahb_m_clk", &gcc, 0x99 },
|
||||
{ "measure_only_bimc_hmss_axi_clk", &gcc, 0xbb },
|
||||
{ "gcc_bimc_gfx_clk", &gcc, 0xac },
|
||||
{ "gcc_hmss_rbcpr_clk", &gcc, 0xbc },
|
||||
{ "gcc_gp1_clk", &gcc, 0xdf },
|
||||
{ "gcc_gp2_clk", &gcc, 0xe0 },
|
||||
{ "gcc_gp3_clk", &gcc, 0xe1 },
|
||||
{ "gcc_pcie_0_slv_axi_clk", &gcc, 0xe2 },
|
||||
{ "gcc_pcie_0_mstr_axi_clk", &gcc, 0xe3 },
|
||||
{ "gcc_pcie_0_cfg_ahb_clk", &gcc, 0xe4 },
|
||||
{ "gcc_pcie_0_aux_clk", &gcc, 0xe5 },
|
||||
{ "gcc_pcie_0_pipe_clk", &gcc, 0xe6 },
|
||||
{ "gcc_pcie_phy_aux_clk", &gcc, 0xe8 },
|
||||
{ "gcc_ufs_axi_clk", &gcc, 0xea },
|
||||
{ "gcc_ufs_ahb_clk", &gcc, 0xeb },
|
||||
{ "gcc_ufs_tx_symbol_0_clk", &gcc, 0xec },
|
||||
{ "gcc_ufs_rx_symbol_0_clk", &gcc, 0xed },
|
||||
{ "gcc_ufs_rx_symbol_1_clk", &gcc, 0x162 },
|
||||
{ "gcc_ufs_unipro_core_clk", &gcc, 0xf0 },
|
||||
{ "gcc_ufs_ice_core_clk", &gcc, 0xf1 },
|
||||
{ "gcc_dcc_ahb_clk", &gcc, 0x119 },
|
||||
{ "ipa_clk", &gcc, 0x11b },
|
||||
{ "gcc_mss_cfg_ahb_clk", &gcc, 0x11f },
|
||||
{ "gcc_mss_q6_bimc_axi_clk", &gcc, 0x124 },
|
||||
{ "gcc_mss_mnoc_bimc_axi_clk", &gcc, 0x120 },
|
||||
{ "gcc_mss_snoc_axi_clk", &gcc, 0x123 },
|
||||
{ "gcc_gpu_cfg_ahb_clk", &gcc, 0x13b },
|
||||
{ "gcc_gpu_bimc_gfx_clk", &gcc, 0x13f },
|
||||
{ "gcc_qspi_ahb_clk", &gcc, 0x156 },
|
||||
{ "gcc_qspi_ref_clk", &gcc, 0x157 },
|
||||
{ "snoc_clk", &gcc.mux, 0x0 },
|
||||
{ "cnoc_clk", &gcc.mux, 0xe },
|
||||
{ "bimc_clk", &gcc.mux, 0x14e },
|
||||
{ "gcc_mmss_sys_noc_axi_clk", &gcc.mux, 0x1f },
|
||||
{ "gcc_mmss_noc_cfg_ahb_clk", &gcc.mux, 0x20 },
|
||||
{ "gcc_usb30_master_clk", &gcc.mux, 0x3e },
|
||||
{ "gcc_usb30_sleep_clk", &gcc.mux, 0x3f },
|
||||
{ "gcc_usb30_mock_utmi_clk", &gcc.mux, 0x40 },
|
||||
{ "gcc_usb3_phy_aux_clk", &gcc.mux, 0x41 },
|
||||
{ "gcc_usb3_phy_pipe_clk", &gcc.mux, 0x42 },
|
||||
{ "gcc_sdcc2_apps_clk", &gcc.mux, 0x46 },
|
||||
{ "gcc_sdcc2_ahb_clk", &gcc.mux, 0x47 },
|
||||
{ "gcc_sdcc4_apps_clk", &gcc.mux, 0x48 },
|
||||
{ "gcc_sdcc4_ahb_clk", &gcc.mux, 0x49 },
|
||||
{ "gcc_blsp1_ahb_clk", &gcc.mux, 0x4a },
|
||||
{ "gcc_blsp1_qup1_spi_apps_clk", &gcc.mux, 0x4c },
|
||||
{ "gcc_blsp1_qup1_i2c_apps_clk", &gcc.mux, 0x4d },
|
||||
{ "gcc_blsp1_uart1_apps_clk", &gcc.mux, 0x4e },
|
||||
{ "gcc_blsp1_qup2_spi_apps_clk", &gcc.mux, 0x50 },
|
||||
{ "gcc_blsp1_qup2_i2c_apps_clk", &gcc.mux, 0x51 },
|
||||
{ "gcc_blsp1_uart2_apps_clk", &gcc.mux, 0x52 },
|
||||
{ "gcc_blsp1_qup3_spi_apps_clk", &gcc.mux, 0x54 },
|
||||
{ "gcc_blsp1_qup3_i2c_apps_clk", &gcc.mux, 0x55 },
|
||||
{ "gcc_blsp1_uart3_apps_clk", &gcc.mux, 0x56 },
|
||||
{ "gcc_blsp1_qup4_spi_apps_clk", &gcc.mux, 0x58 },
|
||||
{ "gcc_blsp1_qup4_i2c_apps_clk", &gcc.mux, 0x59 },
|
||||
{ "gcc_blsp1_qup5_spi_apps_clk", &gcc.mux, 0x5a },
|
||||
{ "gcc_blsp1_qup5_i2c_apps_clk", &gcc.mux, 0x5b },
|
||||
{ "gcc_blsp1_qup6_spi_apps_clk", &gcc.mux, 0x5c },
|
||||
{ "gcc_blsp1_qup6_i2c_apps_clk", &gcc.mux, 0x5d },
|
||||
{ "gcc_blsp2_ahb_clk", &gcc.mux, 0x5e },
|
||||
{ "gcc_blsp2_qup1_spi_apps_clk", &gcc.mux, 0x60 },
|
||||
{ "gcc_blsp2_qup1_i2c_apps_clk", &gcc.mux, 0x61 },
|
||||
{ "gcc_blsp2_uart1_apps_clk", &gcc.mux, 0x62 },
|
||||
{ "gcc_blsp2_qup2_spi_apps_clk", &gcc.mux, 0x64 },
|
||||
{ "gcc_blsp2_qup2_i2c_apps_clk", &gcc.mux, 0x65 },
|
||||
{ "gcc_blsp2_uart2_apps_clk", &gcc.mux, 0x66 },
|
||||
{ "gcc_blsp2_qup3_spi_apps_clk", &gcc.mux, 0x68 },
|
||||
{ "gcc_blsp2_qup3_i2c_apps_clk", &gcc.mux, 0x69 },
|
||||
{ "gcc_blsp2_uart3_apps_clk", &gcc.mux, 0x6a },
|
||||
{ "gcc_blsp2_qup4_spi_apps_clk", &gcc.mux, 0x6c },
|
||||
{ "gcc_blsp2_qup4_i2c_apps_clk", &gcc.mux, 0x6d },
|
||||
{ "gcc_blsp2_qup5_spi_apps_clk", &gcc.mux, 0x6e },
|
||||
{ "gcc_blsp2_qup5_i2c_apps_clk", &gcc.mux, 0x6f },
|
||||
{ "gcc_blsp2_qup6_spi_apps_clk", &gcc.mux, 0x70 },
|
||||
{ "gcc_blsp2_qup6_i2c_apps_clk", &gcc.mux, 0x71 },
|
||||
{ "gcc_pdm_ahb_clk", &gcc.mux, 0x72 },
|
||||
{ "gcc_pdm2_clk", &gcc.mux, 0x74},
|
||||
{ "gcc_prng_ahb_clk", &gcc.mux, 0x75 },
|
||||
{ "gcc_tsif_ahb_clk", &gcc.mux, 0x76 },
|
||||
{ "gcc_tsif_ref_clk", &gcc.mux, 0x77 },
|
||||
{ "gcc_boot_rom_ahb_clk", &gcc.mux, 0x7a },
|
||||
{ "ce1_clk", &gcc.mux, 0x97 },
|
||||
{ "gcc_ce1_axi_m_clk", &gcc.mux, 0x98 },
|
||||
{ "gcc_ce1_ahb_m_clk", &gcc.mux, 0x99 },
|
||||
{ "measure_only_bimc_hmss_axi_clk", &gcc.mux, 0xbb },
|
||||
{ "gcc_bimc_gfx_clk", &gcc.mux, 0xac },
|
||||
{ "gcc_hmss_rbcpr_clk", &gcc.mux, 0xbc },
|
||||
{ "gcc_gp1_clk", &gcc.mux, 0xdf },
|
||||
{ "gcc_gp2_clk", &gcc.mux, 0xe0 },
|
||||
{ "gcc_gp3_clk", &gcc.mux, 0xe1 },
|
||||
{ "gcc_pcie_0_slv_axi_clk", &gcc.mux, 0xe2 },
|
||||
{ "gcc_pcie_0_mstr_axi_clk", &gcc.mux, 0xe3 },
|
||||
{ "gcc_pcie_0_cfg_ahb_clk", &gcc.mux, 0xe4 },
|
||||
{ "gcc_pcie_0_aux_clk", &gcc.mux, 0xe5 },
|
||||
{ "gcc_pcie_0_pipe_clk", &gcc.mux, 0xe6 },
|
||||
{ "gcc_pcie_phy_aux_clk", &gcc.mux, 0xe8 },
|
||||
{ "gcc_ufs_axi_clk", &gcc.mux, 0xea },
|
||||
{ "gcc_ufs_ahb_clk", &gcc.mux, 0xeb },
|
||||
{ "gcc_ufs_tx_symbol_0_clk", &gcc.mux, 0xec },
|
||||
{ "gcc_ufs_rx_symbol_0_clk", &gcc.mux, 0xed },
|
||||
{ "gcc_ufs_rx_symbol_1_clk", &gcc.mux, 0x162 },
|
||||
{ "gcc_ufs_unipro_core_clk", &gcc.mux, 0xf0 },
|
||||
{ "gcc_ufs_ice_core_clk", &gcc.mux, 0xf1 },
|
||||
{ "gcc_dcc_ahb_clk", &gcc.mux, 0x119 },
|
||||
{ "ipa_clk", &gcc.mux, 0x11b },
|
||||
{ "gcc_mss_cfg_ahb_clk", &gcc.mux, 0x11f },
|
||||
{ "gcc_mss_q6_bimc_axi_clk", &gcc.mux, 0x124 },
|
||||
{ "gcc_mss_mnoc_bimc_axi_clk", &gcc.mux, 0x120 },
|
||||
{ "gcc_mss_snoc_axi_clk", &gcc.mux, 0x123 },
|
||||
{ "gcc_gpu_cfg_ahb_clk", &gcc.mux, 0x13b },
|
||||
{ "gcc_gpu_bimc_gfx_clk", &gcc.mux, 0x13f },
|
||||
{ "gcc_qspi_ahb_clk", &gcc.mux, 0x156 },
|
||||
{ "gcc_qspi_ref_clk", &gcc.mux, 0x157 },
|
||||
|
||||
{ "mmss_mnoc_ahb_clk", &gcc, 0x22, &mm_cc, 0x1 },
|
||||
{ "mmss_misc_ahb_clk", &gcc, 0x22, &mm_cc, 0x3 },
|
||||
{ "mmss_vmem_maxi_clk", &gcc, 0x22, &mm_cc, 0x9 },
|
||||
{ "mmss_vmem_ahb_clk", &gcc, 0x22, &mm_cc, 0xa },
|
||||
{ "mmss_bimc_smmu_ahb_clk", &gcc, 0x22, &mm_cc, 0xc },
|
||||
{ "mmss_bimc_smmu_axi_clk", &gcc, 0x22, &mm_cc, 0xd },
|
||||
{ "mmss_video_core_clk", &gcc, 0x22, &mm_cc, 0xe },
|
||||
{ "mmss_video_axi_clk", &gcc, 0x22, &mm_cc, 0xf },
|
||||
{ "mmss_video_maxi_clk", &gcc, 0x22, &mm_cc, 0x10 },
|
||||
{ "mmss_video_ahb_clk", &gcc, 0x22, &mm_cc, 0x11 },
|
||||
{ "mmss_mdss_rot_clk", &gcc, 0x22, &mm_cc, 0x12 },
|
||||
{ "mmss_snoc_dvm_axi_clk", &gcc, 0x22, &mm_cc, 0x13 },
|
||||
{ "mmss_mdss_mdp_clk", &gcc, 0x22, &mm_cc, 0x14 },
|
||||
{ "mmss_mdss_mdp_lut_clk", &gcc, 0x22, &mm_cc, 0x15 },
|
||||
{ "mmss_mdss_pclk0_clk", &gcc, 0x22, &mm_cc, 0x16 },
|
||||
{ "mmss_mdss_pclk1_clk", &gcc, 0x22, &mm_cc, 0x17 },
|
||||
{ "mmss_mdss_extpclk_clk", &gcc, 0x22, &mm_cc, 0x18 },
|
||||
{ "mmss_video_subcore0_clk", &gcc, 0x22, &mm_cc, 0x1a },
|
||||
{ "mmss_video_subcore1_clk", &gcc, 0x22, &mm_cc, 0x1b },
|
||||
{ "mmss_mdss_vsync_clk", &gcc, 0x22, &mm_cc, 0x1c },
|
||||
{ "mmss_mdss_hdmi_clk", &gcc, 0x22, &mm_cc, 0x1d },
|
||||
{ "mmss_mdss_byte0_clk", &gcc, 0x22, &mm_cc, 0x1e },
|
||||
{ "mmss_mdss_byte1_clk", &gcc, 0x22, &mm_cc, 0x1f },
|
||||
{ "mmss_mdss_esc0_clk", &gcc, 0x22, &mm_cc, 0x20 },
|
||||
{ "mmss_mdss_esc1_clk", &gcc, 0x22, &mm_cc, 0x21 },
|
||||
{ "mmss_mdss_ahb_clk", &gcc, 0x22, &mm_cc, 0x22 },
|
||||
{ "mmss_mdss_hdmi_dp_ahb_clk", &gcc, 0x22, &mm_cc, 0x23 },
|
||||
{ "mmss_mdss_axi_clk", &gcc, 0x22, &mm_cc, 0x24 },
|
||||
{ "mmss_camss_top_ahb_clk", &gcc, 0x22, &mm_cc, 0x25 },
|
||||
{ "mmss_camss_micro_ahb_clk", &gcc, 0x22, &mm_cc, 0x26 },
|
||||
{ "mmss_camss_gp0_clk", &gcc, 0x22, &mm_cc, 0x27 },
|
||||
{ "mmss_camss_gp1_clk", &gcc, 0x22, &mm_cc, 0x28 },
|
||||
{ "mmss_camss_mclk0_clk", &gcc, 0x22, &mm_cc, 0x29 },
|
||||
{ "mmss_camss_mclk1_clk", &gcc, 0x22, &mm_cc, 0x2a },
|
||||
{ "mmss_camss_mclk2_clk", &gcc, 0x22, &mm_cc, 0x2b },
|
||||
{ "mmss_camss_mclk3_clk", &gcc, 0x22, &mm_cc, 0x2c },
|
||||
{ "mmss_camss_cci_clk", &gcc, 0x22, &mm_cc, 0x2d },
|
||||
{ "mmss_camss_cci_ahb_clk", &gcc, 0x22, &mm_cc, 0x2e },
|
||||
{ "mmss_camss_csi0phytimer_clk", &gcc, 0x22, &mm_cc, 0x2f },
|
||||
{ "mmss_camss_csi1phytimer_clk", &gcc, 0x22, &mm_cc, 0x30 },
|
||||
{ "mmss_camss_csi2phytimer_clk", &gcc, 0x22, &mm_cc, 0x31 },
|
||||
{ "mmss_camss_jpeg0_clk", &gcc, 0x22, &mm_cc, 0x32 },
|
||||
{ "mmss_camss_ispif_ahb_clk", &gcc, 0x22, &mm_cc, 0x33 },
|
||||
{ "mmss_camss_jpeg_ahb_clk", &gcc, 0x22, &mm_cc, 0x35 },
|
||||
{ "mmss_camss_jpeg_axi_clk", &gcc, 0x22, &mm_cc, 0x36 },
|
||||
{ "mmss_camss_ahb_clk", &gcc, 0x22, &mm_cc, 0x37 },
|
||||
{ "mmss_camss_vfe0_clk", &gcc, 0x22, &mm_cc, 0x38 },
|
||||
{ "mmss_camss_vfe1_clk", &gcc, 0x22, &mm_cc, 0x39 },
|
||||
{ "mmss_camss_cpp_clk", &gcc, 0x22, &mm_cc, 0x3a },
|
||||
{ "mmss_camss_cpp_ahb_clk", &gcc, 0x22, &mm_cc, 0x3b },
|
||||
{ "mmss_camss_csi_vfe0_clk", &gcc, 0x22, &mm_cc, 0x3f },
|
||||
{ "mmss_camss_csi_vfe1_clk", &gcc, 0x22, &mm_cc, 0x40 },
|
||||
{ "mmss_camss_csi0_clk", &gcc, 0x22, &mm_cc, 0x41 },
|
||||
{ "mmss_camss_csi0_ahb_clk", &gcc, 0x22, &mm_cc, 0x42 },
|
||||
{ "mmss_camss_csiphy0_clk", &gcc, 0x22, &mm_cc, 0x43 },
|
||||
{ "mmss_camss_csi0rdi_clk", &gcc, 0x22, &mm_cc, 0x44 },
|
||||
{ "mmss_camss_csi0pix_clk", &gcc, 0x22, &mm_cc, 0x45 },
|
||||
{ "mmss_camss_csi1_clk", &gcc, 0x22, &mm_cc, 0x46 },
|
||||
{ "mmss_camss_csi1_ahb_clk", &gcc, 0x22, &mm_cc, 0x47 },
|
||||
{ "mmss_camss_csi1rdi_clk", &gcc, 0x22, &mm_cc, 0x49 },
|
||||
{ "mmss_camss_csi1pix_clk", &gcc, 0x22, &mm_cc, 0x4a },
|
||||
{ "mmss_camss_csi2_clk", &gcc, 0x22, &mm_cc, 0x4b },
|
||||
{ "mmss_camss_csi2_ahb_clk", &gcc, 0x22, &mm_cc, 0x4c },
|
||||
{ "mmss_camss_csi2rdi_clk", &gcc, 0x22, &mm_cc, 0x4e },
|
||||
{ "mmss_camss_csi2pix_clk", &gcc, 0x22, &mm_cc, 0x4f },
|
||||
{ "mmss_camss_csi3_clk", &gcc, 0x22, &mm_cc, 0x50 },
|
||||
{ "mmss_camss_csi3_ahb_clk", &gcc, 0x22, &mm_cc, 0x51 },
|
||||
{ "mmss_camss_csi3rdi_clk", &gcc, 0x22, &mm_cc, 0x53 },
|
||||
{ "mmss_camss_csi3pix_clk", &gcc, 0x22, &mm_cc, 0x54 },
|
||||
{ "mmss_mnoc_maxi_clk", &gcc, 0x22, &mm_cc, 0x70 },
|
||||
{ "mmss_camss_vfe0_stream_clk", &gcc, 0x22, &mm_cc, 0x71 },
|
||||
{ "mmss_camss_vfe1_stream_clk", &gcc, 0x22, &mm_cc, 0x72 },
|
||||
{ "mmss_camss_cpp_vbif_ahb_clk", &gcc, 0x22, &mm_cc, 0x73 },
|
||||
{ "mmss_misc_cxo_clk", &gcc, 0x22, &mm_cc, 0x77 },
|
||||
{ "mmss_camss_cpp_axi_clk", &gcc, 0x22, &mm_cc, 0x7a },
|
||||
{ "mmss_camss_csiphy1_clk", &gcc, 0x22, &mm_cc, 0x85 },
|
||||
{ "mmss_camss_vfe0_ahb_clk", &gcc, 0x22, &mm_cc, 0x86 },
|
||||
{ "mmss_camss_vfe1_ahb_clk", &gcc, 0x22, &mm_cc, 0x87 },
|
||||
{ "mmss_camss_csiphy2_clk", &gcc, 0x22, &mm_cc, 0x88 },
|
||||
{ "mmss_fd_core_clk", &gcc, 0x22, &mm_cc, 0x89 },
|
||||
{ "mmss_fd_core_uar_clk", &gcc, 0x22, &mm_cc, 0x8a },
|
||||
{ "mmss_fd_ahb_clk", &gcc, 0x22, &mm_cc, 0x8c },
|
||||
{ "mmss_camss_cphy_csid0_clk", &gcc, 0x22, &mm_cc, 0x8d },
|
||||
{ "mmss_camss_cphy_csid1_clk", &gcc, 0x22, &mm_cc, 0x8e },
|
||||
{ "mmss_camss_cphy_csid2_clk", &gcc, 0x22, &mm_cc, 0x8f },
|
||||
{ "mmss_camss_cphy_csid3_clk", &gcc, 0x22, &mm_cc, 0x90 },
|
||||
{ "mmss_mdss_dp_link_clk", &gcc, 0x22, &mm_cc, 0x98 },
|
||||
{ "mmss_mdss_dp_link_intf_clk", &gcc, 0x22, &mm_cc, 0x99 },
|
||||
{ "mmss_mdss_dp_crypto_clk", &gcc, 0x22, &mm_cc, 0x9a },
|
||||
{ "mmss_mdss_dp_pixel_clk", &gcc, 0x22, &mm_cc, 0x9b },
|
||||
{ "mmss_mdss_dp_aux_clk", &gcc, 0x22, &mm_cc, 0x9c },
|
||||
{ "mmss_mdss_dp_gtc_clk", &gcc, 0x22, &mm_cc, 0x9d },
|
||||
{ "mmss_mdss_byte0_intf_clk", &gcc, 0x22, &mm_cc, 0xad },
|
||||
{ "mmss_mdss_byte1_intf_clk", &gcc, 0x22, &mm_cc, 0xae },
|
||||
{ "mmss_mnoc_ahb_clk", &mm_cc, 0x1 },
|
||||
{ "mmss_misc_ahb_clk", &mm_cc, 0x3 },
|
||||
{ "mmss_vmem_maxi_clk", &mm_cc, 0x9 },
|
||||
{ "mmss_vmem_ahb_clk", &mm_cc, 0xa },
|
||||
{ "mmss_bimc_smmu_ahb_clk", &mm_cc, 0xc },
|
||||
{ "mmss_bimc_smmu_axi_clk", &mm_cc, 0xd },
|
||||
{ "mmss_video_core_clk", &mm_cc, 0xe },
|
||||
{ "mmss_video_axi_clk", &mm_cc, 0xf },
|
||||
{ "mmss_video_maxi_clk", &mm_cc, 0x10 },
|
||||
{ "mmss_video_ahb_clk", &mm_cc, 0x11 },
|
||||
{ "mmss_mdss_rot_clk", &mm_cc, 0x12 },
|
||||
{ "mmss_snoc_dvm_axi_clk", &mm_cc, 0x13 },
|
||||
{ "mmss_mdss_mdp_clk", &mm_cc, 0x14 },
|
||||
{ "mmss_mdss_mdp_lut_clk", &mm_cc, 0x15 },
|
||||
{ "mmss_mdss_pclk0_clk", &mm_cc, 0x16 },
|
||||
{ "mmss_mdss_pclk1_clk", &mm_cc, 0x17 },
|
||||
{ "mmss_mdss_extpclk_clk", &mm_cc, 0x18 },
|
||||
{ "mmss_video_subcore0_clk", &mm_cc, 0x1a },
|
||||
{ "mmss_video_subcore1_clk", &mm_cc, 0x1b },
|
||||
{ "mmss_mdss_vsync_clk", &mm_cc, 0x1c },
|
||||
{ "mmss_mdss_hdmi_clk", &mm_cc, 0x1d },
|
||||
{ "mmss_mdss_byte0_clk", &mm_cc, 0x1e },
|
||||
{ "mmss_mdss_byte1_clk", &mm_cc, 0x1f },
|
||||
{ "mmss_mdss_esc0_clk", &mm_cc, 0x20 },
|
||||
{ "mmss_mdss_esc1_clk", &mm_cc, 0x21 },
|
||||
{ "mmss_mdss_ahb_clk", &mm_cc, 0x22 },
|
||||
{ "mmss_mdss_hdmi_dp_ahb_clk", &mm_cc, 0x23 },
|
||||
{ "mmss_mdss_axi_clk", &mm_cc, 0x24 },
|
||||
{ "mmss_camss_top_ahb_clk", &mm_cc, 0x25 },
|
||||
{ "mmss_camss_micro_ahb_clk", &mm_cc, 0x26 },
|
||||
{ "mmss_camss_gp0_clk", &mm_cc, 0x27 },
|
||||
{ "mmss_camss_gp1_clk", &mm_cc, 0x28 },
|
||||
{ "mmss_camss_mclk0_clk", &mm_cc, 0x29 },
|
||||
{ "mmss_camss_mclk1_clk", &mm_cc, 0x2a },
|
||||
{ "mmss_camss_mclk2_clk", &mm_cc, 0x2b },
|
||||
{ "mmss_camss_mclk3_clk", &mm_cc, 0x2c },
|
||||
{ "mmss_camss_cci_clk", &mm_cc, 0x2d },
|
||||
{ "mmss_camss_cci_ahb_clk", &mm_cc, 0x2e },
|
||||
{ "mmss_camss_csi0phytimer_clk", &mm_cc, 0x2f },
|
||||
{ "mmss_camss_csi1phytimer_clk", &mm_cc, 0x30 },
|
||||
{ "mmss_camss_csi2phytimer_clk", &mm_cc, 0x31 },
|
||||
{ "mmss_camss_jpeg0_clk", &mm_cc, 0x32 },
|
||||
{ "mmss_camss_ispif_ahb_clk", &mm_cc, 0x33 },
|
||||
{ "mmss_camss_jpeg_ahb_clk", &mm_cc, 0x35 },
|
||||
{ "mmss_camss_jpeg_axi_clk", &mm_cc, 0x36 },
|
||||
{ "mmss_camss_ahb_clk", &mm_cc, 0x37 },
|
||||
{ "mmss_camss_vfe0_clk", &mm_cc, 0x38 },
|
||||
{ "mmss_camss_vfe1_clk", &mm_cc, 0x39 },
|
||||
{ "mmss_camss_cpp_clk", &mm_cc, 0x3a },
|
||||
{ "mmss_camss_cpp_ahb_clk", &mm_cc, 0x3b },
|
||||
{ "mmss_camss_csi_vfe0_clk", &mm_cc, 0x3f },
|
||||
{ "mmss_camss_csi_vfe1_clk", &mm_cc, 0x40 },
|
||||
{ "mmss_camss_csi0_clk", &mm_cc, 0x41 },
|
||||
{ "mmss_camss_csi0_ahb_clk", &mm_cc, 0x42 },
|
||||
{ "mmss_camss_csiphy0_clk", &mm_cc, 0x43 },
|
||||
{ "mmss_camss_csi0rdi_clk", &mm_cc, 0x44 },
|
||||
{ "mmss_camss_csi0pix_clk", &mm_cc, 0x45 },
|
||||
{ "mmss_camss_csi1_clk", &mm_cc, 0x46 },
|
||||
{ "mmss_camss_csi1_ahb_clk", &mm_cc, 0x47 },
|
||||
{ "mmss_camss_csi1rdi_clk", &mm_cc, 0x49 },
|
||||
{ "mmss_camss_csi1pix_clk", &mm_cc, 0x4a },
|
||||
{ "mmss_camss_csi2_clk", &mm_cc, 0x4b },
|
||||
{ "mmss_camss_csi2_ahb_clk", &mm_cc, 0x4c },
|
||||
{ "mmss_camss_csi2rdi_clk", &mm_cc, 0x4e },
|
||||
{ "mmss_camss_csi2pix_clk", &mm_cc, 0x4f },
|
||||
{ "mmss_camss_csi3_clk", &mm_cc, 0x50 },
|
||||
{ "mmss_camss_csi3_ahb_clk", &mm_cc, 0x51 },
|
||||
{ "mmss_camss_csi3rdi_clk", &mm_cc, 0x53 },
|
||||
{ "mmss_camss_csi3pix_clk", &mm_cc, 0x54 },
|
||||
{ "mmss_mnoc_maxi_clk", &mm_cc, 0x70 },
|
||||
{ "mmss_camss_vfe0_stream_clk", &mm_cc, 0x71 },
|
||||
{ "mmss_camss_vfe1_stream_clk", &mm_cc, 0x72 },
|
||||
{ "mmss_camss_cpp_vbif_ahb_clk", &mm_cc, 0x73 },
|
||||
{ "mmss_misc_cxo_clk", &mm_cc, 0x77 },
|
||||
{ "mmss_camss_cpp_axi_clk", &mm_cc, 0x7a },
|
||||
{ "mmss_camss_csiphy1_clk", &mm_cc, 0x85 },
|
||||
{ "mmss_camss_vfe0_ahb_clk", &mm_cc, 0x86 },
|
||||
{ "mmss_camss_vfe1_ahb_clk", &mm_cc, 0x87 },
|
||||
{ "mmss_camss_csiphy2_clk", &mm_cc, 0x88 },
|
||||
{ "mmss_fd_core_clk", &mm_cc, 0x89 },
|
||||
{ "mmss_fd_core_uar_clk", &mm_cc, 0x8a },
|
||||
{ "mmss_fd_ahb_clk", &mm_cc, 0x8c },
|
||||
{ "mmss_camss_cphy_csid0_clk", &mm_cc, 0x8d },
|
||||
{ "mmss_camss_cphy_csid1_clk", &mm_cc, 0x8e },
|
||||
{ "mmss_camss_cphy_csid2_clk", &mm_cc, 0x8f },
|
||||
{ "mmss_camss_cphy_csid3_clk", &mm_cc, 0x90 },
|
||||
{ "mmss_mdss_dp_link_clk", &mm_cc, 0x98 },
|
||||
{ "mmss_mdss_dp_link_intf_clk", &mm_cc, 0x99 },
|
||||
{ "mmss_mdss_dp_crypto_clk", &mm_cc, 0x9a },
|
||||
{ "mmss_mdss_dp_pixel_clk", &mm_cc, 0x9b },
|
||||
{ "mmss_mdss_dp_aux_clk", &mm_cc, 0x9c },
|
||||
{ "mmss_mdss_dp_gtc_clk", &mm_cc, 0x9d },
|
||||
{ "mmss_mdss_byte0_intf_clk", &mm_cc, 0xad },
|
||||
{ "mmss_mdss_byte1_intf_clk", &mm_cc, 0xae },
|
||||
|
||||
{ "gpucc_rbcpr_clk", &gcc, 0x13d, &gpu_cc, 0x3 },
|
||||
{ "gpucc_rbbmtimer_clk", &gcc, 0x13d, &gpu_cc, 0x5 },
|
||||
{ "gpucc_gfx3d_isense_clk", &gcc, 0x13d, &gpu_cc, 0xa },
|
||||
{ "gpucc_rbcpr_clk", &gpu_cc, 0x3 },
|
||||
{ "gpucc_rbbmtimer_clk", &gpu_cc, 0x5 },
|
||||
{ "gpucc_gfx3d_isense_clk", &gpu_cc, 0xa },
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
288
qcs404.c
288
qcs404.c
@@ -33,6 +33,7 @@
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
@@ -49,147 +50,190 @@
|
||||
#define GCC_CLOCK_FREQ_MEASURE_STATUS 0x74008
|
||||
#define GCC_XO_DIV4_CBCR 0x30034
|
||||
|
||||
static struct debug_mux gcc;
|
||||
struct turing_mux {
|
||||
struct debug_mux mux;
|
||||
|
||||
static struct debug_mux gcc = {
|
||||
.phys = GCC_BASE,
|
||||
.size = GCC_SIZE,
|
||||
unsigned int ahb_reg;
|
||||
unsigned int ahb_mask;
|
||||
};
|
||||
|
||||
.enable_reg = GCC_DEBUG_CLK_CTL,
|
||||
.enable_mask = BIT(16),
|
||||
unsigned long measure_turing(const struct measure_clk *clk,
|
||||
const struct debug_mux *mux);
|
||||
|
||||
.mux_reg = GCC_DEBUG_CLK_CTL,
|
||||
.mux_mask = 0x1ff,
|
||||
static struct gcc_mux gcc = {
|
||||
.mux = {
|
||||
.phys = GCC_BASE,
|
||||
.size = GCC_SIZE,
|
||||
|
||||
.div_reg = GCC_DEBUG_CLK_CTL,
|
||||
.div_shift = 12,
|
||||
.div_mask = 0xf << 12,
|
||||
.div_val = 4,
|
||||
.measure = measure_gcc,
|
||||
|
||||
.enable_reg = GCC_DEBUG_CLK_CTL,
|
||||
.enable_mask = BIT(16),
|
||||
|
||||
.mux_reg = GCC_DEBUG_CLK_CTL,
|
||||
.mux_mask = 0x1ff,
|
||||
|
||||
.div_reg = GCC_DEBUG_CLK_CTL,
|
||||
.div_shift = 12,
|
||||
.div_mask = 0xf << 12,
|
||||
.div_val = 4,
|
||||
},
|
||||
|
||||
.xo_div4_reg = GCC_XO_DIV4_CBCR,
|
||||
.debug_ctl_reg = GCC_CLOCK_FREQ_MEASURE_CTL,
|
||||
.debug_status_reg = GCC_CLOCK_FREQ_MEASURE_STATUS,
|
||||
};
|
||||
|
||||
static struct debug_mux turing = {
|
||||
.phys = 0x800000,
|
||||
.size = 0x30000,
|
||||
static struct turing_mux turing = {
|
||||
.mux = {
|
||||
.phys = 0x800000,
|
||||
.size = 0x30000,
|
||||
|
||||
.enable_reg = 0x22008,
|
||||
.enable_mask = BIT(0),
|
||||
.measure = measure_turing,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 50,
|
||||
|
||||
.mux_reg = 0x22000,
|
||||
.mux_mask = 0xffff,
|
||||
.enable_reg = 0x22008,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
.div_mask = 0,
|
||||
.mux_reg = 0x22000,
|
||||
.mux_mask = 0xffff,
|
||||
},
|
||||
|
||||
.ahb_reg = 0x5e004,
|
||||
.ahb_mask = BIT(31),
|
||||
};
|
||||
|
||||
static bool leaf_enabled(struct turing_mux *leaf)
|
||||
{
|
||||
uint32_t val;
|
||||
|
||||
/* If no AHB clock is specified, we assume it's clocked */
|
||||
if (!leaf || !leaf->ahb_mask)
|
||||
return true;
|
||||
|
||||
/* we know that the parent is GCC, we read AHB reg from GCC */
|
||||
val = readl(leaf->mux.parent->base + leaf->ahb_reg);
|
||||
val &= leaf->ahb_mask;
|
||||
|
||||
/* CLK_OFF will be set if block is not clocked, so inverse */
|
||||
return !val;
|
||||
}
|
||||
|
||||
unsigned long measure_turing(const struct measure_clk *clk,
|
||||
const struct debug_mux *mux)
|
||||
{
|
||||
struct turing_mux *turing = container_of(mux, struct turing_mux, mux);
|
||||
|
||||
if (!leaf_enabled(turing))
|
||||
return 0;
|
||||
|
||||
return measure_leaf(clk, mux);
|
||||
}
|
||||
|
||||
static struct measure_clk qcs404_clocks[] = {
|
||||
{ "snoc_clk", &gcc, 0 },
|
||||
{ "gcc_sys_noc_usb3_clk", &gcc, 1 },
|
||||
{ "pnoc_clk", &gcc, 8 },
|
||||
{ "gcc_pcnoc_usb2_clk", &gcc, 9 },
|
||||
{ "gcc_pcnoc_usb3_clk", &gcc, 10 },
|
||||
{ "gcc_gp1_clk", &gcc, 16 },
|
||||
{ "gcc_gp2_clk", &gcc, 17 },
|
||||
{ "gcc_gp3_clk", &gcc, 18 },
|
||||
{ "gcc_bimc_gfx_clk", &gcc, 45 },
|
||||
{ "aon_clk_src", &gcc, 50, &turing, 1},
|
||||
{ "turing_wrapper_aon_clk", &gcc, 50, &turing, 2},
|
||||
{ "turing_wrapper_cnoc_sway_aon_clk", &gcc, 50, &turing, 3},
|
||||
{ "turing_wrapper_qos_ahbs_aon_clk", &gcc, 50, &turing, 4},
|
||||
{ "q6ss_ahbm_aon_clk", &gcc, 50, &turing, 5},
|
||||
{ "q6ss_ahbs_aon_clk", &gcc, 50, &turing, 6},
|
||||
{ "turing_wrapper_bus_timeout_aon_clk", &gcc, 50, &turing, 7},
|
||||
{ "turing_wrapper_rscc_aon_clk", &gcc, 50, &turing, 8},
|
||||
{ "q6ss_alt_reset_aon_clk", &gcc, 50, &turing, 10},
|
||||
{ "qos_fixed_lat_counter_clk_src", &gcc, 50, &turing, 11},
|
||||
{ "turing_wrapper_qos_dmonitor_fixed_lat_counter_clk", &gcc, 50, &turing, 12},
|
||||
{ "turing_wrapper_qos_danger_fixed_lat_counter_clk", &gcc, 50, &turing, 13},
|
||||
{ "q6_xo_clk_src", &gcc, 50, &turing, 14},
|
||||
{ "qos_xo_clk_src", &gcc, 50, &turing, 15},
|
||||
{ "turing_wrapper_qos_xo_lat_counter_clk", &gcc, 50, &turing, 16},
|
||||
{ "bcr_slp_clk_src", &gcc, 50, &turing, 19},
|
||||
{ "q6ss_bcr_slp_clk", &gcc, 50, &turing, 20},
|
||||
{ "turing_wrapper_cnoc_ahbs_clk", &gcc, 50, &turing, 28},
|
||||
{ "q6ss_q6_axim_clk", &gcc, 50, &turing, 29},
|
||||
{ "q6ss_sleep_clk_src", &gcc, 50, &turing, 33},
|
||||
{ "qdsp6ss_xo_clk", &gcc, 50, &turing, 36},
|
||||
{ "qdsp6ss_sleep_clk", &gcc, 50, &turing, 37},
|
||||
{ "q6ss_dbg_in_clk", &gcc, 50, &turing, 39},
|
||||
{ "gcc_usb_hs_system_clk", &gcc, 96 },
|
||||
{ "gcc_usb_hs_inactivity_timers_clk", &gcc, 98 },
|
||||
{ "gcc_usb2a_phy_sleep_clk", &gcc, 99 },
|
||||
{ "gcc_usb_hs_phy_cfg_ahb_clk", &gcc, 100 },
|
||||
{ "gcc_usb20_mock_utmi_clk", &gcc, 101 },
|
||||
{ "gcc_sdcc1_apps_clk", &gcc, 104 },
|
||||
{ "gcc_sdcc1_ahb_clk", &gcc, 105 },
|
||||
{ "gcc_sdcc1_ice_core_clk", &gcc, 106 },
|
||||
{ "gcc_sdcc2_apps_clk", &gcc, 112 },
|
||||
{ "gcc_sdcc2_ahb_clk", &gcc, 113 },
|
||||
{ "gcc_usb30_master_clk", &gcc, 120 },
|
||||
{ "gcc_usb30_sleep_clk", &gcc, 121 },
|
||||
{ "gcc_usb30_mock_utmi_clk", &gcc, 122 },
|
||||
{ "gcc_usb3_phy_pipe_clk", &gcc, 123 },
|
||||
{ "gcc_usb3_phy_aux_clk", &gcc, 124 },
|
||||
{ "gcc_eth_axi_clk", &gcc, 128 },
|
||||
{ "gcc_eth_rgmii_clk", &gcc, 129 },
|
||||
{ "gcc_eth_slave_ahb_clk", &gcc, 130 },
|
||||
{ "gcc_eth_ptp_clk", &gcc, 131 },
|
||||
{ "gcc_blsp1_ahb_clk", &gcc, 136 },
|
||||
{ "gcc_blsp1_qup1_spi_apps_clk", &gcc, 138 },
|
||||
{ "wcnss_m_clk", &gcc, 138 },
|
||||
{ "gcc_blsp1_qup1_i2c_apps_clk", &gcc, 139 },
|
||||
{ "gcc_blsp1_uart1_apps_clk", &gcc, 140 },
|
||||
{ "gcc_blsp1_qup2_spi_apps_clk", &gcc, 142 },
|
||||
{ "gcc_blsp1_qup2_i2c_apps_clk", &gcc, 143 },
|
||||
{ "gcc_blsp1_uart2_apps_clk", &gcc, 144 },
|
||||
{ "gcc_blsp1_qup3_spi_apps_clk", &gcc, 146 },
|
||||
{ "gcc_blsp1_qup3_i2c_apps_clk", &gcc, 147 },
|
||||
{ "gcc_blsp1_qup4_spi_apps_clk", &gcc, 148 },
|
||||
{ "gcc_blsp1_qup4_i2c_apps_clk", &gcc, 149 },
|
||||
{ "gcc_blsp1_uart3_apps_clk", &gcc, 150 },
|
||||
{ "gcc_blsp1_qup0_spi_apps_clk", &gcc, 152 },
|
||||
{ "gcc_blsp1_qup0_i2c_apps_clk", &gcc, 153 },
|
||||
{ "gcc_blsp1_uart0_apps_clk", &gcc, 154 },
|
||||
{ "gcc_blsp2_ahb_clk", &gcc, 160 },
|
||||
{ "gcc_blsp2_qup0_i2c_apps_clk", &gcc, 162 },
|
||||
{ "gcc_blsp2_qup0_spi_apps_clk", &gcc, 163 },
|
||||
{ "gcc_blsp2_uart0_apps_clk", &gcc, 164 },
|
||||
{ "gcc_pcie_0_slv_axi_clk", &gcc, 168 },
|
||||
{ "gcc_pcie_0_mstr_axi_clk", &gcc, 169 },
|
||||
{ "gcc_pcie_0_cfg_ahb_clk", &gcc, 170 },
|
||||
{ "gcc_pcie_0_aux_clk", &gcc, 171 },
|
||||
{ "gcc_pcie_0_pipe_clk", &gcc, 172 },
|
||||
//{ "pcie0_pipe_clk", &gcc, 173, 1 },
|
||||
{ "qpic_clk", &gcc, 192 },
|
||||
{ "gcc_pdm_ahb_clk", &gcc, 208 },
|
||||
{ "gcc_pdm2_clk", &gcc, 210 },
|
||||
{ "gcc_pwm0_xo512_clk", &gcc, 211 },
|
||||
{ "gcc_pwm1_xo512_clk", &gcc, 212 },
|
||||
{ "gcc_pwm2_xo512_clk", &gcc, 213 },
|
||||
{ "gcc_prng_ahb_clk", &gcc, 216 },
|
||||
{ "gcc_geni_ir_s_clk", &gcc, 238 },
|
||||
{ "gcc_boot_rom_ahb_clk", &gcc, 248 },
|
||||
{ "ce1_clk", &gcc, 312 },
|
||||
{ "bimc_clk", &gcc, 346 },
|
||||
//{ "bimc_fsm_ddr_clk", &gcc, 350, 1 },
|
||||
{ "gcc_apss_ahb_clk", &gcc, 360 },
|
||||
{ "gcc_dcc_clk", &gcc, 441 },
|
||||
{ "gcc_oxili_gfx3d_clk", &gcc, 490 },
|
||||
{ "gcc_oxili_ahb_clk", &gcc, 491 },
|
||||
{ "gcc_mdss_hdmi_pclk_clk", &gcc, 497 },
|
||||
{ "gcc_mdss_hdmi_app_clk", &gcc, 498 },
|
||||
{ "gcc_mdss_ahb_clk", &gcc, 502 },
|
||||
{ "gcc_mdss_axi_clk", &gcc, 503 },
|
||||
{ "gcc_mdss_pclk0_clk", &gcc, 504 },
|
||||
{ "gcc_mdss_mdp_clk", &gcc, 505 },
|
||||
{ "gcc_mdss_vsync_clk", &gcc, 507 },
|
||||
{ "gcc_mdss_byte0_clk", &gcc, 508 },
|
||||
{ "gcc_mdss_esc0_clk", &gcc, 509 },
|
||||
{ "snoc_clk", &gcc.mux, 0 },
|
||||
{ "gcc_sys_noc_usb3_clk", &gcc.mux, 1 },
|
||||
{ "pnoc_clk", &gcc.mux, 8 },
|
||||
{ "gcc_pcnoc_usb2_clk", &gcc.mux, 9 },
|
||||
{ "gcc_pcnoc_usb3_clk", &gcc.mux, 10 },
|
||||
{ "gcc_gp1_clk", &gcc.mux, 16 },
|
||||
{ "gcc_gp2_clk", &gcc.mux, 17 },
|
||||
{ "gcc_gp3_clk", &gcc.mux, 18 },
|
||||
{ "gcc_bimc_gfx_clk", &gcc.mux, 45 },
|
||||
{ "aon_clk_src", &turing.mux, 1},
|
||||
{ "turing_wrapper_aon_clk", &turing.mux, 2},
|
||||
{ "turing_wrapper_cnoc_sway_aon_clk", &turing.mux, 3},
|
||||
{ "turing_wrapper_qos_ahbs_aon_clk", &turing.mux, 4},
|
||||
{ "q6ss_ahbm_aon_clk", &turing.mux, 5},
|
||||
{ "q6ss_ahbs_aon_clk", &turing.mux, 6},
|
||||
{ "turing_wrapper_bus_timeout_aon_clk", &turing.mux, 7},
|
||||
{ "turing_wrapper_rscc_aon_clk", &turing.mux, 8},
|
||||
{ "q6ss_alt_reset_aon_clk", &turing.mux, 10},
|
||||
{ "qos_fixed_lat_counter_clk_src", &turing.mux, 11},
|
||||
{ "turing_wrapper_qos_dmonitor_fixed_lat_counter_clk", &turing.mux, 12},
|
||||
{ "turing_wrapper_qos_danger_fixed_lat_counter_clk", &turing.mux, 13},
|
||||
{ "q6_xo_clk_src", &turing.mux, 14},
|
||||
{ "qos_xo_clk_src", &turing.mux, 15},
|
||||
{ "turing_wrapper_qos_xo_lat_counter_clk", &turing.mux, 16},
|
||||
{ "bcr_slp_clk_src", &turing.mux, 19},
|
||||
{ "q6ss_bcr_slp_clk", &turing.mux, 20},
|
||||
{ "turing_wrapper_cnoc_ahbs_clk", &turing.mux, 28},
|
||||
{ "q6ss_q6_axim_clk", &turing.mux, 29},
|
||||
{ "q6ss_sleep_clk_src", &turing.mux, 33},
|
||||
{ "qdsp6ss_xo_clk", &turing.mux, 36},
|
||||
{ "qdsp6ss_sleep_clk", &turing.mux, 37},
|
||||
{ "q6ss_dbg_in_clk", &turing.mux, 39},
|
||||
{ "gcc_usb_hs_system_clk", &gcc.mux, 96 },
|
||||
{ "gcc_usb_hs_inactivity_timers_clk", &gcc.mux, 98 },
|
||||
{ "gcc_usb2a_phy_sleep_clk", &gcc.mux, 99 },
|
||||
{ "gcc_usb_hs_phy_cfg_ahb_clk", &gcc.mux, 100 },
|
||||
{ "gcc_usb20_mock_utmi_clk", &gcc.mux, 101 },
|
||||
{ "gcc_sdcc1_apps_clk", &gcc.mux, 104 },
|
||||
{ "gcc_sdcc1_ahb_clk", &gcc.mux, 105 },
|
||||
{ "gcc_sdcc1_ice_core_clk", &gcc.mux, 106 },
|
||||
{ "gcc_sdcc2_apps_clk", &gcc.mux, 112 },
|
||||
{ "gcc_sdcc2_ahb_clk", &gcc.mux, 113 },
|
||||
{ "gcc_usb30_master_clk", &gcc.mux, 120 },
|
||||
{ "gcc_usb30_sleep_clk", &gcc.mux, 121 },
|
||||
{ "gcc_usb30_mock_utmi_clk", &gcc.mux, 122 },
|
||||
{ "gcc_usb3_phy_pipe_clk", &gcc.mux, 123 },
|
||||
{ "gcc_usb3_phy_aux_clk", &gcc.mux, 124 },
|
||||
{ "gcc_eth_axi_clk", &gcc.mux, 128 },
|
||||
{ "gcc_eth_rgmii_clk", &gcc.mux, 129 },
|
||||
{ "gcc_eth_slave_ahb_clk", &gcc.mux, 130 },
|
||||
{ "gcc_eth_ptp_clk", &gcc.mux, 131 },
|
||||
{ "gcc_blsp1_ahb_clk", &gcc.mux, 136 },
|
||||
{ "gcc_blsp1_qup1_spi_apps_clk", &gcc.mux, 138 },
|
||||
{ "wcnss_m_clk", &gcc.mux, 138 },
|
||||
{ "gcc_blsp1_qup1_i2c_apps_clk", &gcc.mux, 139 },
|
||||
{ "gcc_blsp1_uart1_apps_clk", &gcc.mux, 140 },
|
||||
{ "gcc_blsp1_qup2_spi_apps_clk", &gcc.mux, 142 },
|
||||
{ "gcc_blsp1_qup2_i2c_apps_clk", &gcc.mux, 143 },
|
||||
{ "gcc_blsp1_uart2_apps_clk", &gcc.mux, 144 },
|
||||
{ "gcc_blsp1_qup3_spi_apps_clk", &gcc.mux, 146 },
|
||||
{ "gcc_blsp1_qup3_i2c_apps_clk", &gcc.mux, 147 },
|
||||
{ "gcc_blsp1_qup4_spi_apps_clk", &gcc.mux, 148 },
|
||||
{ "gcc_blsp1_qup4_i2c_apps_clk", &gcc.mux, 149 },
|
||||
{ "gcc_blsp1_uart3_apps_clk", &gcc.mux, 150 },
|
||||
{ "gcc_blsp1_qup0_spi_apps_clk", &gcc.mux, 152 },
|
||||
{ "gcc_blsp1_qup0_i2c_apps_clk", &gcc.mux, 153 },
|
||||
{ "gcc_blsp1_uart0_apps_clk", &gcc.mux, 154 },
|
||||
{ "gcc_blsp2_ahb_clk", &gcc.mux, 160 },
|
||||
{ "gcc_blsp2_qup0_i2c_apps_clk", &gcc.mux, 162 },
|
||||
{ "gcc_blsp2_qup0_spi_apps_clk", &gcc.mux, 163 },
|
||||
{ "gcc_blsp2_uart0_apps_clk", &gcc.mux, 164 },
|
||||
{ "gcc_pcie_0_slv_axi_clk", &gcc.mux, 168 },
|
||||
{ "gcc_pcie_0_mstr_axi_clk", &gcc.mux, 169 },
|
||||
{ "gcc_pcie_0_cfg_ahb_clk", &gcc.mux, 170 },
|
||||
{ "gcc_pcie_0_aux_clk", &gcc.mux, 171 },
|
||||
{ "gcc_pcie_0_pipe_clk", &gcc.mux, 172 },
|
||||
//{ "pcie0_pipe_clk", &gcc.mux, 173, 1 },
|
||||
{ "qpic_clk", &gcc.mux, 192 },
|
||||
{ "gcc_pdm_ahb_clk", &gcc.mux, 208 },
|
||||
{ "gcc_pdm2_clk", &gcc.mux, 210 },
|
||||
{ "gcc_pwm0_xo512_clk", &gcc.mux, 211 },
|
||||
{ "gcc_pwm1_xo512_clk", &gcc.mux, 212 },
|
||||
{ "gcc_pwm2_xo512_clk", &gcc.mux, 213 },
|
||||
{ "gcc_prng_ahb_clk", &gcc.mux, 216 },
|
||||
{ "gcc_geni_ir_s_clk", &gcc.mux, 238 },
|
||||
{ "gcc_boot_rom_ahb_clk", &gcc.mux, 248 },
|
||||
{ "ce1_clk", &gcc.mux, 312 },
|
||||
{ "bimc_clk", &gcc.mux, 346 },
|
||||
//{ "bimc_fsm_ddr_clk", &gcc.mux, 350, 1 },
|
||||
{ "gcc_apss_ahb_clk", &gcc.mux, 360 },
|
||||
{ "gcc_dcc_clk", &gcc.mux, 441 },
|
||||
{ "gcc_oxili_gfx3d_clk", &gcc.mux, 490 },
|
||||
{ "gcc_oxili_ahb_clk", &gcc.mux, 491 },
|
||||
{ "gcc_mdss_hdmi_pclk_clk", &gcc.mux, 497 },
|
||||
{ "gcc_mdss_hdmi_app_clk", &gcc.mux, 498 },
|
||||
{ "gcc_mdss_ahb_clk", &gcc.mux, 502 },
|
||||
{ "gcc_mdss_axi_clk", &gcc.mux, 503 },
|
||||
{ "gcc_mdss_pclk0_clk", &gcc.mux, 504 },
|
||||
{ "gcc_mdss_mdp_clk", &gcc.mux, 505 },
|
||||
{ "gcc_mdss_vsync_clk", &gcc.mux, 507 },
|
||||
{ "gcc_mdss_byte0_clk", &gcc.mux, 508 },
|
||||
{ "gcc_mdss_esc0_clk", &gcc.mux, 509 },
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
688
sc8280xp.c
688
sc8280xp.c
File diff suppressed because it is too large
Load Diff
301
sm6115.c
301
sm6115.c
@@ -12,11 +12,38 @@
|
||||
|
||||
#include "debugcc.h"
|
||||
|
||||
static struct gcc_mux gcc = {
|
||||
.mux = {
|
||||
.phys = 0x1400000,
|
||||
.size = 0x1f0000,
|
||||
|
||||
.measure = measure_gcc,
|
||||
|
||||
.enable_reg = 0x30004,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
.mux_reg = 0x62000,
|
||||
.mux_mask = 0x3ff,
|
||||
|
||||
.div_reg = 0x30000,
|
||||
.div_mask = 0xf,
|
||||
.div_val = 4,
|
||||
},
|
||||
|
||||
.xo_div4_reg = 0x28008,
|
||||
.debug_ctl_reg = 0x62038,
|
||||
.debug_status_reg = 0x6203c,
|
||||
};
|
||||
|
||||
static struct debug_mux cpu_cc = {
|
||||
.phys = 0xf111000,
|
||||
.size = 0x1000,
|
||||
.block_name = "cpu",
|
||||
|
||||
.measure = measure_leaf,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0xaf,
|
||||
|
||||
.enable_reg = 0x1c,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
@@ -34,6 +61,10 @@ static struct debug_mux disp_cc = {
|
||||
.size = 0x20000,
|
||||
.block_name = "disp",
|
||||
|
||||
.measure = measure_leaf,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0x42,
|
||||
|
||||
.enable_reg = 0x500c,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
@@ -45,30 +76,15 @@ static struct debug_mux disp_cc = {
|
||||
.div_val = 4,
|
||||
};
|
||||
|
||||
static struct debug_mux gcc = {
|
||||
.phys = 0x1400000,
|
||||
.size = 0x1f0000,
|
||||
|
||||
.enable_reg = 0x30004,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
.mux_reg = 0x62000,
|
||||
.mux_mask = 0x3ff,
|
||||
|
||||
.div_reg = 0x30000,
|
||||
.div_mask = 0xf,
|
||||
.div_val = 4,
|
||||
|
||||
.xo_div4_reg = 0x28008,
|
||||
.debug_ctl_reg = 0x62038,
|
||||
.debug_status_reg = 0x6203c,
|
||||
};
|
||||
|
||||
static struct debug_mux gpu_cc = {
|
||||
.phys = 0x5990000,
|
||||
.size = 0x9000,
|
||||
.block_name = "gpu",
|
||||
|
||||
.measure = measure_leaf,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0xe7,
|
||||
|
||||
.enable_reg = 0x1100,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
@@ -81,131 +97,128 @@ static struct debug_mux gpu_cc = {
|
||||
};
|
||||
|
||||
static struct measure_clk sm6115_clocks[] = {
|
||||
{ "perfcl_clk", &gcc, 0xaf, &cpu_cc, 0x1 },
|
||||
{ "pwrcl_clk", &gcc, 0xaf, &cpu_cc, 0x0 },
|
||||
//{ "cpu_cc_debug_mux", &gcc, 0xaf },
|
||||
//{ "disp_cc_debug_mux", &gcc, 0x42 },
|
||||
{ "gcc_ahb2phy_csi_clk", &gcc, 0x63 },
|
||||
{ "gcc_ahb2phy_usb_clk", &gcc, 0x64 },
|
||||
{ "gcc_bimc_gpu_axi_clk", &gcc, 0x90 },
|
||||
{ "gcc_boot_rom_ahb_clk", &gcc, 0x76 },
|
||||
{ "gcc_cam_throttle_nrt_clk", &gcc, 0x4c },
|
||||
{ "gcc_cam_throttle_rt_clk", &gcc, 0x4b },
|
||||
{ "gcc_camera_ahb_clk", &gcc, 0x37 },
|
||||
{ "gcc_camera_xo_clk", &gcc, 0x3f },
|
||||
{ "gcc_camss_axi_clk", &gcc, 0x136 },
|
||||
{ "gcc_camss_camnoc_atb_clk", &gcc, 0x138 },
|
||||
{ "gcc_camss_camnoc_nts_xo_clk", &gcc, 0x139 },
|
||||
{ "gcc_camss_cci_0_clk", &gcc, 0x134 },
|
||||
{ "gcc_camss_cphy_0_clk", &gcc, 0x128 },
|
||||
{ "gcc_camss_cphy_1_clk", &gcc, 0x129 },
|
||||
{ "gcc_camss_cphy_2_clk", &gcc, 0x12a },
|
||||
{ "gcc_camss_csi0phytimer_clk", &gcc, 0x11a },
|
||||
{ "gcc_camss_csi1phytimer_clk", &gcc, 0x11b },
|
||||
{ "gcc_camss_csi2phytimer_clk", &gcc, 0x11c },
|
||||
{ "gcc_camss_mclk0_clk", &gcc, 0x11d },
|
||||
{ "gcc_camss_mclk1_clk", &gcc, 0x11e },
|
||||
{ "gcc_camss_mclk2_clk", &gcc, 0x11f },
|
||||
{ "gcc_camss_mclk3_clk", &gcc, 0x120 },
|
||||
{ "gcc_camss_nrt_axi_clk", &gcc, 0x13a },
|
||||
{ "gcc_camss_ope_ahb_clk", &gcc, 0x133 },
|
||||
{ "gcc_camss_ope_clk", &gcc, 0x131 },
|
||||
{ "gcc_camss_rt_axi_clk", &gcc, 0x13c },
|
||||
{ "gcc_camss_tfe_0_clk", &gcc, 0x121 },
|
||||
{ "gcc_camss_tfe_0_cphy_rx_clk", &gcc, 0x125 },
|
||||
{ "gcc_camss_tfe_0_csid_clk", &gcc, 0x12b },
|
||||
{ "gcc_camss_tfe_1_clk", &gcc, 0x122 },
|
||||
{ "gcc_camss_tfe_1_cphy_rx_clk", &gcc, 0x126 },
|
||||
{ "gcc_camss_tfe_1_csid_clk", &gcc, 0x12d },
|
||||
{ "gcc_camss_tfe_2_clk", &gcc, 0x123 },
|
||||
{ "gcc_camss_tfe_2_cphy_rx_clk", &gcc, 0x127 },
|
||||
{ "gcc_camss_tfe_2_csid_clk", &gcc, 0x12f },
|
||||
{ "gcc_camss_top_ahb_clk", &gcc, 0x135 },
|
||||
{ "gcc_cfg_noc_usb3_prim_axi_clk", &gcc, 0x1d },
|
||||
{ "gcc_cpuss_gnoc_clk", &gcc, 0xaa },
|
||||
{ "gcc_disp_ahb_clk", &gcc, 0x38 },
|
||||
{ "gcc_disp_gpll0_div_clk_src", &gcc, 0x47 },
|
||||
{ "gcc_disp_hf_axi_clk", &gcc, 0x3d },
|
||||
{ "gcc_disp_throttle_core_clk", &gcc, 0x49 },
|
||||
{ "gcc_disp_xo_clk", &gcc, 0x40 },
|
||||
{ "gcc_gp1_clk", &gcc, 0xba },
|
||||
{ "gcc_gp2_clk", &gcc, 0xbb },
|
||||
{ "gcc_gp3_clk", &gcc, 0xbc },
|
||||
{ "gcc_gpu_cfg_ahb_clk", &gcc, 0xe5 },
|
||||
{ "gcc_gpu_gpll0_clk_src", &gcc, 0xeb },
|
||||
{ "gcc_gpu_gpll0_div_clk_src", &gcc, 0xec },
|
||||
{ "gcc_gpu_memnoc_gfx_clk", &gcc, 0xe8 },
|
||||
{ "gcc_gpu_snoc_dvm_gfx_clk", &gcc, 0xea },
|
||||
{ "gcc_gpu_throttle_core_clk", &gcc, 0xef },
|
||||
{ "gcc_pdm2_clk", &gcc, 0x73 },
|
||||
{ "gcc_pdm_ahb_clk", &gcc, 0x71 },
|
||||
{ "gcc_pdm_xo4_clk", &gcc, 0x72 },
|
||||
{ "gcc_prng_ahb_clk", &gcc, 0x74 },
|
||||
{ "gcc_qmip_camera_nrt_ahb_clk", &gcc, 0x3a },
|
||||
{ "gcc_qmip_camera_rt_ahb_clk", &gcc, 0x48 },
|
||||
{ "gcc_qmip_disp_ahb_clk", &gcc, 0x3b },
|
||||
{ "gcc_qmip_gpu_cfg_ahb_clk", &gcc, 0xed },
|
||||
{ "gcc_qmip_video_vcodec_ahb_clk", &gcc, 0x39 },
|
||||
{ "gcc_qupv3_wrap0_core_2x_clk", &gcc, 0x6a },
|
||||
{ "gcc_qupv3_wrap0_core_clk", &gcc, 0x69 },
|
||||
{ "gcc_qupv3_wrap_0_m_ahb_clk", &gcc, 0x67 },
|
||||
{ "gcc_qupv3_wrap_0_s_ahb_clk", &gcc, 0x68 },
|
||||
{ "gcc_sdcc1_ahb_clk", &gcc, 0xf3 },
|
||||
{ "gcc_sdcc1_apps_clk", &gcc, 0xf2 },
|
||||
{ "gcc_sdcc1_ice_core_clk", &gcc, 0xf4 },
|
||||
{ "gcc_sdcc2_ahb_clk", &gcc, 0x66 },
|
||||
{ "gcc_sdcc2_apps_clk", &gcc, 0x65 },
|
||||
{ "gcc_sys_noc_cpuss_ahb_clk", &gcc, 0x9 },
|
||||
{ "gcc_sys_noc_ufs_phy_axi_clk", &gcc, 0x19 },
|
||||
{ "gcc_sys_noc_usb3_prim_axi_clk", &gcc, 0x18 },
|
||||
{ "gcc_ufs_phy_ahb_clk", &gcc, 0x111 },
|
||||
{ "gcc_ufs_phy_axi_clk", &gcc, 0x110 },
|
||||
{ "gcc_ufs_phy_ice_core_clk", &gcc, 0x117 },
|
||||
{ "gcc_ufs_phy_phy_aux_clk", &gcc, 0x118 },
|
||||
{ "gcc_ufs_phy_rx_symbol_0_clk", &gcc, 0x113 },
|
||||
{ "gcc_ufs_phy_tx_symbol_0_clk", &gcc, 0x112 },
|
||||
{ "gcc_ufs_phy_unipro_core_clk", &gcc, 0x116 },
|
||||
{ "gcc_usb30_prim_master_clk", &gcc, 0x5c },
|
||||
{ "gcc_usb30_prim_mock_utmi_clk", &gcc, 0x5e },
|
||||
{ "gcc_usb30_prim_sleep_clk", &gcc, 0x5d },
|
||||
{ "gcc_usb3_prim_phy_com_aux_clk", &gcc, 0x5f },
|
||||
{ "gcc_usb3_prim_phy_pipe_clk", &gcc, 0x60 },
|
||||
{ "gcc_vcodec0_axi_clk", &gcc, 0x142 },
|
||||
{ "gcc_venus_ahb_clk", &gcc, 0x143 },
|
||||
{ "gcc_venus_ctl_axi_clk", &gcc, 0x141 },
|
||||
{ "gcc_video_ahb_clk", &gcc, 0x36 },
|
||||
{ "gcc_video_axi0_clk", &gcc, 0x3c },
|
||||
{ "gcc_video_throttle_core_clk", &gcc, 0x4a },
|
||||
{ "gcc_video_vcodec0_sys_clk", &gcc, 0x13f },
|
||||
{ "gcc_video_venus_ctl_clk", &gcc, 0x13d },
|
||||
{ "gcc_video_xo_clk", &gcc, 0x3e },
|
||||
//{ "gpu_cc_debug_mux", &gcc, 0xe7 },
|
||||
//{ "mc_cc_debug_mux", &gcc, 0x9e },
|
||||
{ "measure_only_cnoc_clk", &gcc, 0x1a },
|
||||
{ "measure_only_ipa_2x_clk", &gcc, 0xc6 },
|
||||
{ "measure_only_snoc_clk", &gcc, 0x7 },
|
||||
{ "disp_cc_mdss_ahb_clk", &gcc, 0x42, &disp_cc, 0x1a },
|
||||
{ "disp_cc_mdss_byte0_clk", &gcc, 0x42, &disp_cc, 0x12 },
|
||||
{ "disp_cc_mdss_byte0_intf_clk", &gcc, 0x42, &disp_cc, 0x13 },
|
||||
{ "disp_cc_mdss_esc0_clk", &gcc, 0x42, &disp_cc, 0x14 },
|
||||
{ "disp_cc_mdss_mdp_clk", &gcc, 0x42, &disp_cc, 0xe },
|
||||
{ "disp_cc_mdss_mdp_lut_clk", &gcc, 0x42, &disp_cc, 0x10 },
|
||||
{ "disp_cc_mdss_non_gdsc_ahb_clk", &gcc, 0x42, &disp_cc, 0x1b },
|
||||
{ "disp_cc_mdss_pclk0_clk", &gcc, 0x42, &disp_cc, 0xd },
|
||||
{ "disp_cc_mdss_rot_clk", &gcc, 0x42, &disp_cc, 0xf },
|
||||
{ "disp_cc_mdss_vsync_clk", &gcc, 0x42, &disp_cc, 0x11 },
|
||||
{ "disp_cc_sleep_clk", &gcc, 0x42, &disp_cc, 0x24 },
|
||||
{ "disp_cc_xo_clk", &gcc, 0x42, &disp_cc, 0x23 },
|
||||
{ "gpu_cc_ahb_clk", &gcc, 0xe7, &gpu_cc, 0x10 },
|
||||
{ "gpu_cc_crc_ahb_clk", &gcc, 0xe7, &gpu_cc, 0x11 },
|
||||
{ "gpu_cc_cx_gfx3d_clk", &gcc, 0xe7, &gpu_cc, 0x1a },
|
||||
{ "gpu_cc_cx_gmu_clk", &gcc, 0xe7, &gpu_cc, 0x18 },
|
||||
{ "gpu_cc_cx_snoc_dvm_clk", &gcc, 0xe7, &gpu_cc, 0x15 },
|
||||
{ "gpu_cc_cxo_aon_clk", &gcc, 0xe7, &gpu_cc, 0xa },
|
||||
{ "gpu_cc_cxo_clk", &gcc, 0xe7, &gpu_cc, 0x19 },
|
||||
{ "gpu_cc_gx_cxo_clk", &gcc, 0xe7, &gpu_cc, 0xe },
|
||||
{ "gpu_cc_gx_gfx3d_clk", &gcc, 0xe7, &gpu_cc, 0xb },
|
||||
{ "gpu_cc_sleep_clk", &gcc, 0xe7, &gpu_cc, 0x16 },
|
||||
//{ "mc_cc_debug_mux", &gcc.mux, 0x9e },
|
||||
{ "perfcl_clk", &cpu_cc, 0x1 },
|
||||
{ "pwrcl_clk", &cpu_cc, 0x0 },
|
||||
{ "gcc_ahb2phy_csi_clk", &gcc.mux, 0x63 },
|
||||
{ "gcc_ahb2phy_usb_clk", &gcc.mux, 0x64 },
|
||||
{ "gcc_bimc_gpu_axi_clk", &gcc.mux, 0x90 },
|
||||
{ "gcc_boot_rom_ahb_clk", &gcc.mux, 0x76 },
|
||||
{ "gcc_cam_throttle_nrt_clk", &gcc.mux, 0x4c },
|
||||
{ "gcc_cam_throttle_rt_clk", &gcc.mux, 0x4b },
|
||||
{ "gcc_camera_ahb_clk", &gcc.mux, 0x37 },
|
||||
{ "gcc_camera_xo_clk", &gcc.mux, 0x3f },
|
||||
{ "gcc_camss_axi_clk", &gcc.mux, 0x136 },
|
||||
{ "gcc_camss_camnoc_atb_clk", &gcc.mux, 0x138 },
|
||||
{ "gcc_camss_camnoc_nts_xo_clk", &gcc.mux, 0x139 },
|
||||
{ "gcc_camss_cci_0_clk", &gcc.mux, 0x134 },
|
||||
{ "gcc_camss_cphy_0_clk", &gcc.mux, 0x128 },
|
||||
{ "gcc_camss_cphy_1_clk", &gcc.mux, 0x129 },
|
||||
{ "gcc_camss_cphy_2_clk", &gcc.mux, 0x12a },
|
||||
{ "gcc_camss_csi0phytimer_clk", &gcc.mux, 0x11a },
|
||||
{ "gcc_camss_csi1phytimer_clk", &gcc.mux, 0x11b },
|
||||
{ "gcc_camss_csi2phytimer_clk", &gcc.mux, 0x11c },
|
||||
{ "gcc_camss_mclk0_clk", &gcc.mux, 0x11d },
|
||||
{ "gcc_camss_mclk1_clk", &gcc.mux, 0x11e },
|
||||
{ "gcc_camss_mclk2_clk", &gcc.mux, 0x11f },
|
||||
{ "gcc_camss_mclk3_clk", &gcc.mux, 0x120 },
|
||||
{ "gcc_camss_nrt_axi_clk", &gcc.mux, 0x13a },
|
||||
{ "gcc_camss_ope_ahb_clk", &gcc.mux, 0x133 },
|
||||
{ "gcc_camss_ope_clk", &gcc.mux, 0x131 },
|
||||
{ "gcc_camss_rt_axi_clk", &gcc.mux, 0x13c },
|
||||
{ "gcc_camss_tfe_0_clk", &gcc.mux, 0x121 },
|
||||
{ "gcc_camss_tfe_0_cphy_rx_clk", &gcc.mux, 0x125 },
|
||||
{ "gcc_camss_tfe_0_csid_clk", &gcc.mux, 0x12b },
|
||||
{ "gcc_camss_tfe_1_clk", &gcc.mux, 0x122 },
|
||||
{ "gcc_camss_tfe_1_cphy_rx_clk", &gcc.mux, 0x126 },
|
||||
{ "gcc_camss_tfe_1_csid_clk", &gcc.mux, 0x12d },
|
||||
{ "gcc_camss_tfe_2_clk", &gcc.mux, 0x123 },
|
||||
{ "gcc_camss_tfe_2_cphy_rx_clk", &gcc.mux, 0x127 },
|
||||
{ "gcc_camss_tfe_2_csid_clk", &gcc.mux, 0x12f },
|
||||
{ "gcc_camss_top_ahb_clk", &gcc.mux, 0x135 },
|
||||
{ "gcc_cfg_noc_usb3_prim_axi_clk", &gcc.mux, 0x1d },
|
||||
{ "gcc_cpuss_gnoc_clk", &gcc.mux, 0xaa },
|
||||
{ "gcc_disp_ahb_clk", &gcc.mux, 0x38 },
|
||||
{ "gcc_disp_gpll0_div_clk_src", &gcc.mux, 0x47 },
|
||||
{ "gcc_disp_hf_axi_clk", &gcc.mux, 0x3d },
|
||||
{ "gcc_disp_throttle_core_clk", &gcc.mux, 0x49 },
|
||||
{ "gcc_disp_xo_clk", &gcc.mux, 0x40 },
|
||||
{ "gcc_gp1_clk", &gcc.mux, 0xba },
|
||||
{ "gcc_gp2_clk", &gcc.mux, 0xbb },
|
||||
{ "gcc_gp3_clk", &gcc.mux, 0xbc },
|
||||
{ "gcc_gpu_cfg_ahb_clk", &gcc.mux, 0xe5 },
|
||||
{ "gcc_gpu_gpll0_clk_src", &gcc.mux, 0xeb },
|
||||
{ "gcc_gpu_gpll0_div_clk_src", &gcc.mux, 0xec },
|
||||
{ "gcc_gpu_memnoc_gfx_clk", &gcc.mux, 0xe8 },
|
||||
{ "gcc_gpu_snoc_dvm_gfx_clk", &gcc.mux, 0xea },
|
||||
{ "gcc_gpu_throttle_core_clk", &gcc.mux, 0xef },
|
||||
{ "gcc_pdm2_clk", &gcc.mux, 0x73 },
|
||||
{ "gcc_pdm_ahb_clk", &gcc.mux, 0x71 },
|
||||
{ "gcc_pdm_xo4_clk", &gcc.mux, 0x72 },
|
||||
{ "gcc_prng_ahb_clk", &gcc.mux, 0x74 },
|
||||
{ "gcc_qmip_camera_nrt_ahb_clk", &gcc.mux, 0x3a },
|
||||
{ "gcc_qmip_camera_rt_ahb_clk", &gcc.mux, 0x48 },
|
||||
{ "gcc_qmip_disp_ahb_clk", &gcc.mux, 0x3b },
|
||||
{ "gcc_qmip_gpu_cfg_ahb_clk", &gcc.mux, 0xed },
|
||||
{ "gcc_qmip_video_vcodec_ahb_clk", &gcc.mux, 0x39 },
|
||||
{ "gcc_qupv3_wrap0_core_2x_clk", &gcc.mux, 0x6a },
|
||||
{ "gcc_qupv3_wrap0_core_clk", &gcc.mux, 0x69 },
|
||||
{ "gcc_qupv3_wrap_0_m_ahb_clk", &gcc.mux, 0x67 },
|
||||
{ "gcc_qupv3_wrap_0_s_ahb_clk", &gcc.mux, 0x68 },
|
||||
{ "gcc_sdcc1_ahb_clk", &gcc.mux, 0xf3 },
|
||||
{ "gcc_sdcc1_apps_clk", &gcc.mux, 0xf2 },
|
||||
{ "gcc_sdcc1_ice_core_clk", &gcc.mux, 0xf4 },
|
||||
{ "gcc_sdcc2_ahb_clk", &gcc.mux, 0x66 },
|
||||
{ "gcc_sdcc2_apps_clk", &gcc.mux, 0x65 },
|
||||
{ "gcc_sys_noc_cpuss_ahb_clk", &gcc.mux, 0x9 },
|
||||
{ "gcc_sys_noc_ufs_phy_axi_clk", &gcc.mux, 0x19 },
|
||||
{ "gcc_sys_noc_usb3_prim_axi_clk", &gcc.mux, 0x18 },
|
||||
{ "gcc_ufs_phy_ahb_clk", &gcc.mux, 0x111 },
|
||||
{ "gcc_ufs_phy_axi_clk", &gcc.mux, 0x110 },
|
||||
{ "gcc_ufs_phy_ice_core_clk", &gcc.mux, 0x117 },
|
||||
{ "gcc_ufs_phy_phy_aux_clk", &gcc.mux, 0x118 },
|
||||
{ "gcc_ufs_phy_rx_symbol_0_clk", &gcc.mux, 0x113 },
|
||||
{ "gcc_ufs_phy_tx_symbol_0_clk", &gcc.mux, 0x112 },
|
||||
{ "gcc_ufs_phy_unipro_core_clk", &gcc.mux, 0x116 },
|
||||
{ "gcc_usb30_prim_master_clk", &gcc.mux, 0x5c },
|
||||
{ "gcc_usb30_prim_mock_utmi_clk", &gcc.mux, 0x5e },
|
||||
{ "gcc_usb30_prim_sleep_clk", &gcc.mux, 0x5d },
|
||||
{ "gcc_usb3_prim_phy_com_aux_clk", &gcc.mux, 0x5f },
|
||||
{ "gcc_usb3_prim_phy_pipe_clk", &gcc.mux, 0x60 },
|
||||
{ "gcc_vcodec0_axi_clk", &gcc.mux, 0x142 },
|
||||
{ "gcc_venus_ahb_clk", &gcc.mux, 0x143 },
|
||||
{ "gcc_venus_ctl_axi_clk", &gcc.mux, 0x141 },
|
||||
{ "gcc_video_ahb_clk", &gcc.mux, 0x36 },
|
||||
{ "gcc_video_axi0_clk", &gcc.mux, 0x3c },
|
||||
{ "gcc_video_throttle_core_clk", &gcc.mux, 0x4a },
|
||||
{ "gcc_video_vcodec0_sys_clk", &gcc.mux, 0x13f },
|
||||
{ "gcc_video_venus_ctl_clk", &gcc.mux, 0x13d },
|
||||
{ "gcc_video_xo_clk", &gcc.mux, 0x3e },
|
||||
{ "measure_only_cnoc_clk", &gcc.mux, 0x1a },
|
||||
{ "measure_only_ipa_2x_clk", &gcc.mux, 0xc6 },
|
||||
{ "measure_only_snoc_clk", &gcc.mux, 0x7 },
|
||||
{ "disp_cc_mdss_ahb_clk", &disp_cc, 0x1a },
|
||||
{ "disp_cc_mdss_byte0_clk", &disp_cc, 0x12 },
|
||||
{ "disp_cc_mdss_byte0_intf_clk", &disp_cc, 0x13 },
|
||||
{ "disp_cc_mdss_esc0_clk", &disp_cc, 0x14 },
|
||||
{ "disp_cc_mdss_mdp_clk", &disp_cc, 0xe },
|
||||
{ "disp_cc_mdss_mdp_lut_clk", &disp_cc, 0x10 },
|
||||
{ "disp_cc_mdss_non_gdsc_ahb_clk", &disp_cc, 0x1b },
|
||||
{ "disp_cc_mdss_pclk0_clk", &disp_cc, 0xd },
|
||||
{ "disp_cc_mdss_rot_clk", &disp_cc, 0xf },
|
||||
{ "disp_cc_mdss_vsync_clk", &disp_cc, 0x11 },
|
||||
{ "disp_cc_sleep_clk", &disp_cc, 0x24 },
|
||||
{ "disp_cc_xo_clk", &disp_cc, 0x23 },
|
||||
{ "gpu_cc_ahb_clk", &gpu_cc, 0x10 },
|
||||
{ "gpu_cc_crc_ahb_clk", &gpu_cc, 0x11 },
|
||||
{ "gpu_cc_cx_gfx3d_clk", &gpu_cc, 0x1a },
|
||||
{ "gpu_cc_cx_gmu_clk", &gpu_cc, 0x18 },
|
||||
{ "gpu_cc_cx_snoc_dvm_clk", &gpu_cc, 0x15 },
|
||||
{ "gpu_cc_cxo_aon_clk", &gpu_cc, 0xa },
|
||||
{ "gpu_cc_cxo_clk", &gpu_cc, 0x19 },
|
||||
{ "gpu_cc_gx_cxo_clk", &gpu_cc, 0xe },
|
||||
{ "gpu_cc_gx_gfx3d_clk", &gpu_cc, 0xb },
|
||||
{ "gpu_cc_sleep_clk", &gpu_cc, 0x16 },
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
444
sm6125.c
444
sm6125.c
@@ -12,11 +12,36 @@
|
||||
|
||||
#include "debugcc.h"
|
||||
|
||||
static struct gcc_mux gcc = {
|
||||
.mux = {
|
||||
.phys = 0x1400000,
|
||||
.size = 0x1f0000,
|
||||
|
||||
.enable_reg = 0x30004,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
.mux_reg = 0x62000,
|
||||
.mux_mask = 0x3ff,
|
||||
|
||||
.div_reg = 0x30000,
|
||||
.div_mask = 0xf,
|
||||
.div_val = 1,
|
||||
},
|
||||
|
||||
.xo_div4_reg = 0x28008,
|
||||
.debug_ctl_reg = 0x62038,
|
||||
.debug_status_reg = 0x6203c,
|
||||
};
|
||||
|
||||
static struct debug_mux cpu_cc = {
|
||||
.phys = 0xf111000,
|
||||
.size = 0x1000,
|
||||
.block_name = "cpu",
|
||||
|
||||
.measure = measure_leaf,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0xab,
|
||||
|
||||
.enable_reg = 0x1c,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
@@ -30,30 +55,15 @@ static struct debug_mux cpu_cc = {
|
||||
.div_val = 8,
|
||||
};
|
||||
|
||||
static struct debug_mux gcc = {
|
||||
.phys = 0x1400000,
|
||||
.size = 0x1f0000,
|
||||
|
||||
.enable_reg = 0x30004,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
.mux_reg = 0x62000,
|
||||
.mux_mask = 0x3ff,
|
||||
|
||||
.div_reg = 0x30000,
|
||||
.div_mask = 0xf,
|
||||
.div_val = 1,
|
||||
|
||||
.xo_div4_reg = 0x28008,
|
||||
.debug_ctl_reg = 0x62038,
|
||||
.debug_status_reg = 0x6203c,
|
||||
};
|
||||
|
||||
static struct debug_mux disp_cc = {
|
||||
.phys = 0x5f00000,
|
||||
.size = 0x20000,
|
||||
.block_name = "disp",
|
||||
|
||||
.measure = measure_leaf,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0x41,
|
||||
|
||||
.enable_reg = 0x500c,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
@@ -70,6 +80,10 @@ static struct debug_mux gpu_cc = {
|
||||
.size = 0x9000,
|
||||
.block_name = "gpu",
|
||||
|
||||
.measure = measure_leaf,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0xdd,
|
||||
|
||||
.enable_reg = 0x1100,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
@@ -86,6 +100,10 @@ static struct debug_mux video_cc = {
|
||||
.size = 0x10000,
|
||||
.block_name = "video",
|
||||
|
||||
.measure = measure_leaf,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0x42,
|
||||
|
||||
.enable_reg = 0x1100,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
@@ -98,203 +116,203 @@ static struct debug_mux video_cc = {
|
||||
};
|
||||
|
||||
static struct measure_clk sm6125_clocks[] = {
|
||||
{ "perfcl_clk", &gcc, 0xab, &cpu_cc, 0x1 },
|
||||
{ "pwrcl_clk", &gcc, 0xab, &cpu_cc, 0x0 },
|
||||
{ "snoc_clk", &gcc, 0x7 },
|
||||
{ "bimc_clk", &gcc, 0x97 },
|
||||
{ "pnoc_clk", &gcc, 0x11 },
|
||||
{ "gcc_ahb2phy_csi_clk", &gcc, 0x5f },
|
||||
{ "gcc_ahb2phy_usb_clk", &gcc, 0x60 },
|
||||
{ "gcc_apc_vs_clk", &gcc, 0xbf },
|
||||
{ "gcc_boot_rom_ahb_clk", &gcc, 0x72 },
|
||||
{ "gcc_camera_ahb_clk", &gcc, 0x36 },
|
||||
{ "gcc_camera_xo_clk", &gcc, 0x3e },
|
||||
{ "gcc_camss_cci_ahb_clk", &gcc, 0x11f },
|
||||
{ "gcc_camss_cci_clk", &gcc, 0x11e },
|
||||
{ "gcc_camss_cphy_csid0_clk", &gcc, 0x13a },
|
||||
{ "gcc_camss_cphy_csid1_clk", &gcc, 0x140 },
|
||||
{ "gcc_camss_cphy_csid2_clk", &gcc, 0x145 },
|
||||
{ "gcc_camss_cphy_csid3_clk", &gcc, 0x14b },
|
||||
{ "gcc_camss_cpp_ahb_clk", &gcc, 0x154 },
|
||||
{ "gcc_camss_cpp_axi_clk", &gcc, 0x156 },
|
||||
{ "gcc_camss_cpp_clk", &gcc, 0x153 },
|
||||
{ "gcc_camss_cpp_tsctr_clk", &gcc, 0x158 },
|
||||
{ "gcc_camss_cpp_vbif_ahb_clk", &gcc, 0x155 },
|
||||
{ "gcc_camss_csi0_ahb_clk", &gcc, 0x13b },
|
||||
{ "gcc_camss_csi0_clk", &gcc, 0x139 },
|
||||
{ "gcc_camss_csi0phytimer_clk", &gcc, 0x120 },
|
||||
{ "gcc_camss_csi0pix_clk", &gcc, 0x13d },
|
||||
{ "gcc_camss_csi0rdi_clk", &gcc, 0x13c },
|
||||
{ "gcc_camss_csi1_ahb_clk", &gcc, 0x141 },
|
||||
{ "gcc_camss_csi1_clk", &gcc, 0x13f },
|
||||
{ "gcc_camss_csi1phytimer_clk", &gcc, 0x121 },
|
||||
{ "gcc_camss_csi1pix_clk", &gcc, 0x143 },
|
||||
{ "gcc_camss_csi1rdi_clk", &gcc, 0x142 },
|
||||
{ "gcc_camss_csi2_ahb_clk", &gcc, 0x146 },
|
||||
{ "gcc_camss_csi2_clk", &gcc, 0x144 },
|
||||
{ "gcc_camss_csi2phytimer_clk", &gcc, 0x122 },
|
||||
{ "gcc_camss_csi2pix_clk", &gcc, 0x148 },
|
||||
{ "gcc_camss_csi2rdi_clk", &gcc, 0x147 },
|
||||
{ "gcc_camss_csi3_ahb_clk", &gcc, 0x14c },
|
||||
{ "gcc_camss_csi3_clk", &gcc, 0x14a },
|
||||
{ "gcc_camss_csi3pix_clk", &gcc, 0x14e },
|
||||
{ "gcc_camss_csi3rdi_clk", &gcc, 0x14d },
|
||||
{ "gcc_camss_csi_vfe0_clk", &gcc, 0x12e },
|
||||
{ "gcc_camss_csi_vfe1_clk", &gcc, 0x12f },
|
||||
{ "gcc_camss_csiphy0_clk", &gcc, 0x135 },
|
||||
{ "gcc_camss_csiphy1_clk", &gcc, 0x136 },
|
||||
{ "gcc_camss_csiphy2_clk", &gcc, 0x137 },
|
||||
{ "gcc_camss_csiphy3_clk", &gcc, 0x138 },
|
||||
{ "gcc_camss_gp0_clk", &gcc, 0x118 },
|
||||
{ "gcc_camss_gp1_clk", &gcc, 0x119 },
|
||||
{ "gcc_camss_ispif_ahb_clk", &gcc, 0x134 },
|
||||
{ "gcc_camss_jpeg_ahb_clk", &gcc, 0x124 },
|
||||
{ "gcc_camss_jpeg_axi_clk", &gcc, 0x125 },
|
||||
{ "gcc_camss_jpeg_clk", &gcc, 0x123 },
|
||||
{ "gcc_camss_jpeg_tsctr_clk", &gcc, 0x127 },
|
||||
{ "gcc_camss_mclk0_clk", &gcc, 0x11a },
|
||||
{ "gcc_camss_mclk1_clk", &gcc, 0x11b },
|
||||
{ "gcc_camss_mclk2_clk", &gcc, 0x11c },
|
||||
{ "gcc_camss_mclk3_clk", &gcc, 0x11d },
|
||||
{ "gcc_camss_micro_ahb_clk", &gcc, 0x152 },
|
||||
{ "gcc_camss_throttle_nrt_axi_clk", &gcc, 0x150 },
|
||||
{ "gcc_camss_throttle_rt_axi_clk", &gcc, 0x151 },
|
||||
{ "gcc_camss_top_ahb_clk", &gcc, 0x14f },
|
||||
{ "gcc_camss_vfe0_ahb_clk", &gcc, 0x12a },
|
||||
{ "gcc_camss_vfe0_clk", &gcc, 0x128 },
|
||||
{ "gcc_camss_vfe0_stream_clk", &gcc, 0x129 },
|
||||
{ "gcc_camss_vfe1_ahb_clk", &gcc, 0x12d },
|
||||
{ "gcc_camss_vfe1_clk", &gcc, 0x12b },
|
||||
{ "gcc_camss_vfe1_stream_clk", &gcc, 0x12c },
|
||||
{ "gcc_camss_vfe_tsctr_clk", &gcc, 0x133 },
|
||||
{ "gcc_camss_vfe_vbif_ahb_clk", &gcc, 0x130 },
|
||||
{ "gcc_camss_vfe_vbif_axi_clk", &gcc, 0x131 },
|
||||
{ "gcc_ce1_ahb_clk", &gcc, 0x82 },
|
||||
{ "gcc_ce1_axi_clk", &gcc, 0x81 },
|
||||
{ "gcc_ce1_clk", &gcc, 0x80 },
|
||||
{ "gcc_cfg_noc_usb3_prim_axi_clk", &gcc, 0x1d },
|
||||
{ "gcc_cpuss_ahb_clk", &gcc, 0xa5 },
|
||||
{ "gcc_cpuss_gnoc_clk", &gcc, 0xa6 },
|
||||
{ "gcc_cpuss_throttle_core_clk", &gcc, 0xae },
|
||||
{ "gcc_cpuss_throttle_xo_clk", &gcc, 0xad },
|
||||
{ "gcc_disp_ahb_clk", &gcc, 0x37 },
|
||||
{ "gcc_disp_gpll0_div_clk_src", &gcc, 0x46 },
|
||||
{ "gcc_disp_hf_axi_clk", &gcc, 0x3c },
|
||||
{ "gcc_disp_throttle_core_clk", &gcc, 0x48 },
|
||||
{ "gcc_disp_xo_clk", &gcc, 0x3f },
|
||||
{ "gcc_gp1_clk", &gcc, 0xb6 },
|
||||
{ "gcc_gp2_clk", &gcc, 0xb7 },
|
||||
{ "gcc_gp3_clk", &gcc, 0xb8 },
|
||||
{ "gcc_gpu_cfg_ahb_clk", &gcc, 0xdb },
|
||||
{ "gcc_gpu_gpll0_clk_src", &gcc, 0xe1 },
|
||||
{ "gcc_gpu_gpll0_div_clk_src", &gcc, 0xe2 },
|
||||
{ "gcc_gpu_memnoc_gfx_clk", &gcc, 0xde },
|
||||
{ "gcc_gpu_snoc_dvm_gfx_clk", &gcc, 0xe0 },
|
||||
{ "gcc_gpu_throttle_core_clk", &gcc, 0xe5 },
|
||||
{ "gcc_gpu_throttle_xo_clk", &gcc, 0xe4 },
|
||||
{ "gcc_mss_vs_clk", &gcc, 0xbe },
|
||||
{ "gcc_pdm2_clk", &gcc, 0x6f },
|
||||
{ "gcc_pdm_ahb_clk", &gcc, 0x6d },
|
||||
{ "gcc_pdm_xo4_clk", &gcc, 0x6e },
|
||||
{ "gcc_prng_ahb_clk", &gcc, 0x70 },
|
||||
{ "gcc_qmip_camera_nrt_ahb_clk", &gcc, 0x39 },
|
||||
{ "gcc_qmip_camera_rt_ahb_clk", &gcc, 0x47 },
|
||||
{ "gcc_qmip_cpuss_cfg_ahb_clk", &gcc, 0xac },
|
||||
{ "gcc_qmip_disp_ahb_clk", &gcc, 0x3a },
|
||||
{ "gcc_qmip_gpu_cfg_ahb_clk", &gcc, 0xe3 },
|
||||
{ "gcc_qmip_video_vcodec_ahb_clk", &gcc, 0x38 },
|
||||
{ "gcc_qupv3_wrap0_core_2x_clk", &gcc, 0x66 },
|
||||
{ "gcc_qupv3_wrap0_core_clk", &gcc, 0x65 },
|
||||
{ "gcc_qupv3_wrap0_s0_clk", &gcc, 0x67 },
|
||||
{ "gcc_qupv3_wrap0_s1_clk", &gcc, 0x68 },
|
||||
{ "gcc_qupv3_wrap0_s2_clk", &gcc, 0x69 },
|
||||
{ "gcc_qupv3_wrap0_s3_clk", &gcc, 0x6a },
|
||||
{ "gcc_qupv3_wrap0_s4_clk", &gcc, 0x6b },
|
||||
{ "gcc_qupv3_wrap0_s5_clk", &gcc, 0x6c },
|
||||
{ "gcc_qupv3_wrap1_core_2x_clk", &gcc, 0xed },
|
||||
{ "gcc_qupv3_wrap1_core_clk", &gcc, 0xec },
|
||||
{ "gcc_qupv3_wrap1_s0_clk", &gcc, 0xee },
|
||||
{ "gcc_qupv3_wrap1_s1_clk", &gcc, 0xef },
|
||||
{ "gcc_qupv3_wrap1_s2_clk", &gcc, 0xf0 },
|
||||
{ "gcc_qupv3_wrap1_s3_clk", &gcc, 0xf1 },
|
||||
{ "gcc_qupv3_wrap1_s4_clk", &gcc, 0xf2 },
|
||||
{ "gcc_qupv3_wrap1_s5_clk", &gcc, 0xf3 },
|
||||
{ "gcc_qupv3_wrap_0_m_ahb_clk", &gcc, 0x63 },
|
||||
{ "gcc_qupv3_wrap_0_s_ahb_clk", &gcc, 0x64 },
|
||||
{ "gcc_qupv3_wrap_1_m_ahb_clk", &gcc, 0xea },
|
||||
{ "gcc_qupv3_wrap_1_s_ahb_clk", &gcc, 0xeb },
|
||||
{ "gcc_sdcc1_ahb_clk", &gcc, 0xe8 },
|
||||
{ "gcc_sdcc1_apps_clk", &gcc, 0xe7 },
|
||||
{ "gcc_sdcc1_ice_core_clk", &gcc, 0xe9 },
|
||||
{ "gcc_sdcc2_ahb_clk", &gcc, 0x62 },
|
||||
{ "gcc_sdcc2_apps_clk", &gcc, 0x61 },
|
||||
{ "gcc_sys_noc_cpuss_ahb_clk", &gcc, 0x9, },
|
||||
{ "gcc_sys_noc_ufs_phy_axi_clk", &gcc, 0x19 },
|
||||
{ "gcc_sys_noc_usb3_prim_axi_clk", &gcc, 0x18 },
|
||||
{ "gcc_ufs_phy_ahb_clk", &gcc, 0x10f },
|
||||
{ "gcc_ufs_phy_axi_clk", &gcc, 0x10e },
|
||||
{ "gcc_ufs_phy_ice_core_clk", &gcc, 0x115 },
|
||||
{ "gcc_ufs_phy_phy_aux_clk", &gcc, 0x116 },
|
||||
{ "gcc_ufs_phy_rx_symbol_0_clk", &gcc, 0x111 },
|
||||
{ "gcc_ufs_phy_tx_symbol_0_clk", &gcc, 0x110 },
|
||||
{ "gcc_ufs_phy_unipro_core_clk", &gcc, 0x114 },
|
||||
{ "gcc_usb30_prim_master_clk", &gcc, 0x58 },
|
||||
{ "gcc_usb30_prim_mock_utmi_clk", &gcc, 0x5a },
|
||||
{ "gcc_usb30_prim_sleep_clk", &gcc, 0x59 },
|
||||
{ "gcc_usb3_prim_phy_com_aux_clk", &gcc, 0x5b },
|
||||
{ "gcc_usb3_prim_phy_pipe_clk", &gcc, 0x5c },
|
||||
{ "gcc_vdda_vs_clk", &gcc, 0xbb },
|
||||
{ "gcc_vddcx_vs_clk", &gcc, 0xb9 },
|
||||
{ "gcc_vddmx_vs_clk", &gcc, 0xba },
|
||||
{ "gcc_video_ahb_clk", &gcc, 0x35 },
|
||||
{ "gcc_video_axi0_clk", &gcc, 0x3b },
|
||||
{ "gcc_video_throttle_core_clk", &gcc, 0x49 },
|
||||
{ "gcc_video_xo_clk", &gcc, 0x3d },
|
||||
{ "gcc_vs_ctrl_ahb_clk", &gcc, 0xbd },
|
||||
{ "gcc_vs_ctrl_clk", &gcc, 0xbc },
|
||||
{ "gcc_wcss_vs_clk", &gcc, 0xc0 },
|
||||
{ "measure_only_ipa_2x_clk", &gcc, 0xc2 },
|
||||
{ "perfcl_clk", &cpu_cc, 0x1 },
|
||||
{ "pwrcl_clk", &cpu_cc, 0x0 },
|
||||
{ "snoc_clk", &gcc.mux, 0x7 },
|
||||
{ "bimc_clk", &gcc.mux, 0x97 },
|
||||
{ "pnoc_clk", &gcc.mux, 0x11 },
|
||||
{ "gcc_ahb2phy_csi_clk", &gcc.mux, 0x5f },
|
||||
{ "gcc_ahb2phy_usb_clk", &gcc.mux, 0x60 },
|
||||
{ "gcc_apc_vs_clk", &gcc.mux, 0xbf },
|
||||
{ "gcc_boot_rom_ahb_clk", &gcc.mux, 0x72 },
|
||||
{ "gcc_camera_ahb_clk", &gcc.mux, 0x36 },
|
||||
{ "gcc_camera_xo_clk", &gcc.mux, 0x3e },
|
||||
{ "gcc_camss_cci_ahb_clk", &gcc.mux, 0x11f },
|
||||
{ "gcc_camss_cci_clk", &gcc.mux, 0x11e },
|
||||
{ "gcc_camss_cphy_csid0_clk", &gcc.mux, 0x13a },
|
||||
{ "gcc_camss_cphy_csid1_clk", &gcc.mux, 0x140 },
|
||||
{ "gcc_camss_cphy_csid2_clk", &gcc.mux, 0x145 },
|
||||
{ "gcc_camss_cphy_csid3_clk", &gcc.mux, 0x14b },
|
||||
{ "gcc_camss_cpp_ahb_clk", &gcc.mux, 0x154 },
|
||||
{ "gcc_camss_cpp_axi_clk", &gcc.mux, 0x156 },
|
||||
{ "gcc_camss_cpp_clk", &gcc.mux, 0x153 },
|
||||
{ "gcc_camss_cpp_tsctr_clk", &gcc.mux, 0x158 },
|
||||
{ "gcc_camss_cpp_vbif_ahb_clk", &gcc.mux, 0x155 },
|
||||
{ "gcc_camss_csi0_ahb_clk", &gcc.mux, 0x13b },
|
||||
{ "gcc_camss_csi0_clk", &gcc.mux, 0x139 },
|
||||
{ "gcc_camss_csi0phytimer_clk", &gcc.mux, 0x120 },
|
||||
{ "gcc_camss_csi0pix_clk", &gcc.mux, 0x13d },
|
||||
{ "gcc_camss_csi0rdi_clk", &gcc.mux, 0x13c },
|
||||
{ "gcc_camss_csi1_ahb_clk", &gcc.mux, 0x141 },
|
||||
{ "gcc_camss_csi1_clk", &gcc.mux, 0x13f },
|
||||
{ "gcc_camss_csi1phytimer_clk", &gcc.mux, 0x121 },
|
||||
{ "gcc_camss_csi1pix_clk", &gcc.mux, 0x143 },
|
||||
{ "gcc_camss_csi1rdi_clk", &gcc.mux, 0x142 },
|
||||
{ "gcc_camss_csi2_ahb_clk", &gcc.mux, 0x146 },
|
||||
{ "gcc_camss_csi2_clk", &gcc.mux, 0x144 },
|
||||
{ "gcc_camss_csi2phytimer_clk", &gcc.mux, 0x122 },
|
||||
{ "gcc_camss_csi2pix_clk", &gcc.mux, 0x148 },
|
||||
{ "gcc_camss_csi2rdi_clk", &gcc.mux, 0x147 },
|
||||
{ "gcc_camss_csi3_ahb_clk", &gcc.mux, 0x14c },
|
||||
{ "gcc_camss_csi3_clk", &gcc.mux, 0x14a },
|
||||
{ "gcc_camss_csi3pix_clk", &gcc.mux, 0x14e },
|
||||
{ "gcc_camss_csi3rdi_clk", &gcc.mux, 0x14d },
|
||||
{ "gcc_camss_csi_vfe0_clk", &gcc.mux, 0x12e },
|
||||
{ "gcc_camss_csi_vfe1_clk", &gcc.mux, 0x12f },
|
||||
{ "gcc_camss_csiphy0_clk", &gcc.mux, 0x135 },
|
||||
{ "gcc_camss_csiphy1_clk", &gcc.mux, 0x136 },
|
||||
{ "gcc_camss_csiphy2_clk", &gcc.mux, 0x137 },
|
||||
{ "gcc_camss_csiphy3_clk", &gcc.mux, 0x138 },
|
||||
{ "gcc_camss_gp0_clk", &gcc.mux, 0x118 },
|
||||
{ "gcc_camss_gp1_clk", &gcc.mux, 0x119 },
|
||||
{ "gcc_camss_ispif_ahb_clk", &gcc.mux, 0x134 },
|
||||
{ "gcc_camss_jpeg_ahb_clk", &gcc.mux, 0x124 },
|
||||
{ "gcc_camss_jpeg_axi_clk", &gcc.mux, 0x125 },
|
||||
{ "gcc_camss_jpeg_clk", &gcc.mux, 0x123 },
|
||||
{ "gcc_camss_jpeg_tsctr_clk", &gcc.mux, 0x127 },
|
||||
{ "gcc_camss_mclk0_clk", &gcc.mux, 0x11a },
|
||||
{ "gcc_camss_mclk1_clk", &gcc.mux, 0x11b },
|
||||
{ "gcc_camss_mclk2_clk", &gcc.mux, 0x11c },
|
||||
{ "gcc_camss_mclk3_clk", &gcc.mux, 0x11d },
|
||||
{ "gcc_camss_micro_ahb_clk", &gcc.mux, 0x152 },
|
||||
{ "gcc_camss_throttle_nrt_axi_clk", &gcc.mux, 0x150 },
|
||||
{ "gcc_camss_throttle_rt_axi_clk", &gcc.mux, 0x151 },
|
||||
{ "gcc_camss_top_ahb_clk", &gcc.mux, 0x14f },
|
||||
{ "gcc_camss_vfe0_ahb_clk", &gcc.mux, 0x12a },
|
||||
{ "gcc_camss_vfe0_clk", &gcc.mux, 0x128 },
|
||||
{ "gcc_camss_vfe0_stream_clk", &gcc.mux, 0x129 },
|
||||
{ "gcc_camss_vfe1_ahb_clk", &gcc.mux, 0x12d },
|
||||
{ "gcc_camss_vfe1_clk", &gcc.mux, 0x12b },
|
||||
{ "gcc_camss_vfe1_stream_clk", &gcc.mux, 0x12c },
|
||||
{ "gcc_camss_vfe_tsctr_clk", &gcc.mux, 0x133 },
|
||||
{ "gcc_camss_vfe_vbif_ahb_clk", &gcc.mux, 0x130 },
|
||||
{ "gcc_camss_vfe_vbif_axi_clk", &gcc.mux, 0x131 },
|
||||
{ "gcc_ce1_ahb_clk", &gcc.mux, 0x82 },
|
||||
{ "gcc_ce1_axi_clk", &gcc.mux, 0x81 },
|
||||
{ "gcc_ce1_clk", &gcc.mux, 0x80 },
|
||||
{ "gcc_cfg_noc_usb3_prim_axi_clk", &gcc.mux, 0x1d },
|
||||
{ "gcc_cpuss_ahb_clk", &gcc.mux, 0xa5 },
|
||||
{ "gcc_cpuss_gnoc_clk", &gcc.mux, 0xa6 },
|
||||
{ "gcc_cpuss_throttle_core_clk", &gcc.mux, 0xae },
|
||||
{ "gcc_cpuss_throttle_xo_clk", &gcc.mux, 0xad },
|
||||
{ "gcc_disp_ahb_clk", &gcc.mux, 0x37 },
|
||||
{ "gcc_disp_gpll0_div_clk_src", &gcc.mux, 0x46 },
|
||||
{ "gcc_disp_hf_axi_clk", &gcc.mux, 0x3c },
|
||||
{ "gcc_disp_throttle_core_clk", &gcc.mux, 0x48 },
|
||||
{ "gcc_disp_xo_clk", &gcc.mux, 0x3f },
|
||||
{ "gcc_gp1_clk", &gcc.mux, 0xb6 },
|
||||
{ "gcc_gp2_clk", &gcc.mux, 0xb7 },
|
||||
{ "gcc_gp3_clk", &gcc.mux, 0xb8 },
|
||||
{ "gcc_gpu_cfg_ahb_clk", &gcc.mux, 0xdb },
|
||||
{ "gcc_gpu_gpll0_clk_src", &gcc.mux, 0xe1 },
|
||||
{ "gcc_gpu_gpll0_div_clk_src", &gcc.mux, 0xe2 },
|
||||
{ "gcc_gpu_memnoc_gfx_clk", &gcc.mux, 0xde },
|
||||
{ "gcc_gpu_snoc_dvm_gfx_clk", &gcc.mux, 0xe0 },
|
||||
{ "gcc_gpu_throttle_core_clk", &gcc.mux, 0xe5 },
|
||||
{ "gcc_gpu_throttle_xo_clk", &gcc.mux, 0xe4 },
|
||||
{ "gcc_mss_vs_clk", &gcc.mux, 0xbe },
|
||||
{ "gcc_pdm2_clk", &gcc.mux, 0x6f },
|
||||
{ "gcc_pdm_ahb_clk", &gcc.mux, 0x6d },
|
||||
{ "gcc_pdm_xo4_clk", &gcc.mux, 0x6e },
|
||||
{ "gcc_prng_ahb_clk", &gcc.mux, 0x70 },
|
||||
{ "gcc_qmip_camera_nrt_ahb_clk", &gcc.mux, 0x39 },
|
||||
{ "gcc_qmip_camera_rt_ahb_clk", &gcc.mux, 0x47 },
|
||||
{ "gcc_qmip_cpuss_cfg_ahb_clk", &gcc.mux, 0xac },
|
||||
{ "gcc_qmip_disp_ahb_clk", &gcc.mux, 0x3a },
|
||||
{ "gcc_qmip_gpu_cfg_ahb_clk", &gcc.mux, 0xe3 },
|
||||
{ "gcc_qmip_video_vcodec_ahb_clk", &gcc.mux, 0x38 },
|
||||
{ "gcc_qupv3_wrap0_core_2x_clk", &gcc.mux, 0x66 },
|
||||
{ "gcc_qupv3_wrap0_core_clk", &gcc.mux, 0x65 },
|
||||
{ "gcc_qupv3_wrap0_s0_clk", &gcc.mux, 0x67 },
|
||||
{ "gcc_qupv3_wrap0_s1_clk", &gcc.mux, 0x68 },
|
||||
{ "gcc_qupv3_wrap0_s2_clk", &gcc.mux, 0x69 },
|
||||
{ "gcc_qupv3_wrap0_s3_clk", &gcc.mux, 0x6a },
|
||||
{ "gcc_qupv3_wrap0_s4_clk", &gcc.mux, 0x6b },
|
||||
{ "gcc_qupv3_wrap0_s5_clk", &gcc.mux, 0x6c },
|
||||
{ "gcc_qupv3_wrap1_core_2x_clk", &gcc.mux, 0xed },
|
||||
{ "gcc_qupv3_wrap1_core_clk", &gcc.mux, 0xec },
|
||||
{ "gcc_qupv3_wrap1_s0_clk", &gcc.mux, 0xee },
|
||||
{ "gcc_qupv3_wrap1_s1_clk", &gcc.mux, 0xef },
|
||||
{ "gcc_qupv3_wrap1_s2_clk", &gcc.mux, 0xf0 },
|
||||
{ "gcc_qupv3_wrap1_s3_clk", &gcc.mux, 0xf1 },
|
||||
{ "gcc_qupv3_wrap1_s4_clk", &gcc.mux, 0xf2 },
|
||||
{ "gcc_qupv3_wrap1_s5_clk", &gcc.mux, 0xf3 },
|
||||
{ "gcc_qupv3_wrap_0_m_ahb_clk", &gcc.mux, 0x63 },
|
||||
{ "gcc_qupv3_wrap_0_s_ahb_clk", &gcc.mux, 0x64 },
|
||||
{ "gcc_qupv3_wrap_1_m_ahb_clk", &gcc.mux, 0xea },
|
||||
{ "gcc_qupv3_wrap_1_s_ahb_clk", &gcc.mux, 0xeb },
|
||||
{ "gcc_sdcc1_ahb_clk", &gcc.mux, 0xe8 },
|
||||
{ "gcc_sdcc1_apps_clk", &gcc.mux, 0xe7 },
|
||||
{ "gcc_sdcc1_ice_core_clk", &gcc.mux, 0xe9 },
|
||||
{ "gcc_sdcc2_ahb_clk", &gcc.mux, 0x62 },
|
||||
{ "gcc_sdcc2_apps_clk", &gcc.mux, 0x61 },
|
||||
{ "gcc_sys_noc_cpuss_ahb_clk", &gcc.mux, 0x9, },
|
||||
{ "gcc_sys_noc_ufs_phy_axi_clk", &gcc.mux, 0x19 },
|
||||
{ "gcc_sys_noc_usb3_prim_axi_clk", &gcc.mux, 0x18 },
|
||||
{ "gcc_ufs_phy_ahb_clk", &gcc.mux, 0x10f },
|
||||
{ "gcc_ufs_phy_axi_clk", &gcc.mux, 0x10e },
|
||||
{ "gcc_ufs_phy_ice_core_clk", &gcc.mux, 0x115 },
|
||||
{ "gcc_ufs_phy_phy_aux_clk", &gcc.mux, 0x116 },
|
||||
{ "gcc_ufs_phy_rx_symbol_0_clk", &gcc.mux, 0x111 },
|
||||
{ "gcc_ufs_phy_tx_symbol_0_clk", &gcc.mux, 0x110 },
|
||||
{ "gcc_ufs_phy_unipro_core_clk", &gcc.mux, 0x114 },
|
||||
{ "gcc_usb30_prim_master_clk", &gcc.mux, 0x58 },
|
||||
{ "gcc_usb30_prim_mock_utmi_clk", &gcc.mux, 0x5a },
|
||||
{ "gcc_usb30_prim_sleep_clk", &gcc.mux, 0x59 },
|
||||
{ "gcc_usb3_prim_phy_com_aux_clk", &gcc.mux, 0x5b },
|
||||
{ "gcc_usb3_prim_phy_pipe_clk", &gcc.mux, 0x5c },
|
||||
{ "gcc_vdda_vs_clk", &gcc.mux, 0xbb },
|
||||
{ "gcc_vddcx_vs_clk", &gcc.mux, 0xb9 },
|
||||
{ "gcc_vddmx_vs_clk", &gcc.mux, 0xba },
|
||||
{ "gcc_video_ahb_clk", &gcc.mux, 0x35 },
|
||||
{ "gcc_video_axi0_clk", &gcc.mux, 0x3b },
|
||||
{ "gcc_video_throttle_core_clk", &gcc.mux, 0x49 },
|
||||
{ "gcc_video_xo_clk", &gcc.mux, 0x3d },
|
||||
{ "gcc_vs_ctrl_ahb_clk", &gcc.mux, 0xbd },
|
||||
{ "gcc_vs_ctrl_clk", &gcc.mux, 0xbc },
|
||||
{ "gcc_wcss_vs_clk", &gcc.mux, 0xc0 },
|
||||
{ "measure_only_ipa_2x_clk", &gcc.mux, 0xc2 },
|
||||
|
||||
{ "disp_cc_mdss_ahb_clk", &gcc, 0x41, &disp_cc, 0x1a },
|
||||
{ "disp_cc_mdss_byte0_clk", &gcc, 0x41, &disp_cc, 0x12 },
|
||||
{ "disp_cc_mdss_byte0_intf_clk", &gcc, 0x41, &disp_cc, 0x13 },
|
||||
{ "disp_cc_mdss_dp_aux_clk", &gcc, 0x41, &disp_cc, 0x19 },
|
||||
{ "disp_cc_mdss_dp_crypto_clk", &gcc, 0x41, &disp_cc, 0x17 },
|
||||
{ "disp_cc_mdss_dp_link_clk", &gcc, 0x41, &disp_cc, 0x15 },
|
||||
{ "disp_cc_mdss_dp_link_intf_clk", &gcc, 0x41, &disp_cc, 0x16 },
|
||||
{ "disp_cc_mdss_dp_pixel_clk", &gcc, 0x41, &disp_cc, 0x18 },
|
||||
{ "disp_cc_mdss_esc0_clk", &gcc, 0x41, &disp_cc, 0x14 },
|
||||
{ "disp_cc_mdss_mdp_clk", &gcc, 0x41, &disp_cc, 0xe, },
|
||||
{ "disp_cc_mdss_mdp_lut_clk", &gcc, 0x41, &disp_cc, 0x10 },
|
||||
{ "disp_cc_mdss_non_gdsc_ahb_clk", &gcc, 0x41, &disp_cc, 0x1b },
|
||||
{ "disp_cc_mdss_pclk0_clk", &gcc, 0x41, &disp_cc, 0xd, },
|
||||
{ "disp_cc_mdss_rot_clk", &gcc, 0x41, &disp_cc, 0xf, },
|
||||
{ "disp_cc_mdss_vsync_clk", &gcc, 0x41, &disp_cc, 0x11 },
|
||||
{ "disp_cc_sleep_clk", &gcc, 0x41, &disp_cc, 0x24 },
|
||||
{ "disp_cc_xo_clk", &gcc, 0x41, &disp_cc, 0x23 },
|
||||
{ "disp_cc_mdss_ahb_clk", &disp_cc, 0x1a },
|
||||
{ "disp_cc_mdss_byte0_clk", &disp_cc, 0x12 },
|
||||
{ "disp_cc_mdss_byte0_intf_clk", &disp_cc, 0x13 },
|
||||
{ "disp_cc_mdss_dp_aux_clk", &disp_cc, 0x19 },
|
||||
{ "disp_cc_mdss_dp_crypto_clk", &disp_cc, 0x17 },
|
||||
{ "disp_cc_mdss_dp_link_clk", &disp_cc, 0x15 },
|
||||
{ "disp_cc_mdss_dp_link_intf_clk", &disp_cc, 0x16 },
|
||||
{ "disp_cc_mdss_dp_pixel_clk", &disp_cc, 0x18 },
|
||||
{ "disp_cc_mdss_esc0_clk", &disp_cc, 0x14 },
|
||||
{ "disp_cc_mdss_mdp_clk", &disp_cc, 0xe, },
|
||||
{ "disp_cc_mdss_mdp_lut_clk", &disp_cc, 0x10 },
|
||||
{ "disp_cc_mdss_non_gdsc_ahb_clk", &disp_cc, 0x1b },
|
||||
{ "disp_cc_mdss_pclk0_clk", &disp_cc, 0xd, },
|
||||
{ "disp_cc_mdss_rot_clk", &disp_cc, 0xf, },
|
||||
{ "disp_cc_mdss_vsync_clk", &disp_cc, 0x11 },
|
||||
{ "disp_cc_sleep_clk", &disp_cc, 0x24 },
|
||||
{ "disp_cc_xo_clk", &disp_cc, 0x23 },
|
||||
|
||||
{ "gpu_cc_ahb_clk", &gcc, 0xdd, &gpu_cc, 0x10 },
|
||||
{ "gpu_cc_crc_ahb_clk", &gcc, 0xdd, &gpu_cc, 0x11 },
|
||||
{ "gpu_cc_cx_apb_clk", &gcc, 0xdd, &gpu_cc, 0x14 },
|
||||
{ "gpu_cc_cx_gfx3d_clk", &gcc, 0xdd, &gpu_cc, 0x1a },
|
||||
{ "gpu_cc_cx_gfx3d_slv_clk", &gcc, 0xdd, &gpu_cc, 0x1b },
|
||||
{ "gpu_cc_cx_gmu_clk", &gcc, 0xdd, &gpu_cc, 0x18 },
|
||||
{ "gpu_cc_cx_snoc_dvm_clk", &gcc, 0xdd, &gpu_cc, 0x15 },
|
||||
{ "gpu_cc_cxo_aon_clk", &gcc, 0xdd, &gpu_cc, 0xa },
|
||||
{ "gpu_cc_cxo_clk", &gcc, 0xdd, &gpu_cc, 0x19 },
|
||||
{ "gpu_cc_gx_cxo_clk", &gcc, 0xdd, &gpu_cc, 0xe },
|
||||
{ "gpu_cc_gx_gfx3d_clk", &gcc, 0xdd, &gpu_cc, 0xb },
|
||||
{ "gpu_cc_sleep_clk", &gcc, 0xdd, &gpu_cc, 0x16 },
|
||||
{ "gpu_cc_ahb_clk", &gpu_cc, 0x10 },
|
||||
{ "gpu_cc_crc_ahb_clk", &gpu_cc, 0x11 },
|
||||
{ "gpu_cc_cx_apb_clk", &gpu_cc, 0x14 },
|
||||
{ "gpu_cc_cx_gfx3d_clk", &gpu_cc, 0x1a },
|
||||
{ "gpu_cc_cx_gfx3d_slv_clk", &gpu_cc, 0x1b },
|
||||
{ "gpu_cc_cx_gmu_clk", &gpu_cc, 0x18 },
|
||||
{ "gpu_cc_cx_snoc_dvm_clk", &gpu_cc, 0x15 },
|
||||
{ "gpu_cc_cxo_aon_clk", &gpu_cc, 0xa },
|
||||
{ "gpu_cc_cxo_clk", &gpu_cc, 0x19 },
|
||||
{ "gpu_cc_gx_cxo_clk", &gpu_cc, 0xe },
|
||||
{ "gpu_cc_gx_gfx3d_clk", &gpu_cc, 0xb },
|
||||
{ "gpu_cc_sleep_clk", &gpu_cc, 0x16 },
|
||||
|
||||
{ "video_cc_apb_clk", &gcc, 0x42, &video_cc, 0x8 },
|
||||
{ "video_cc_at_clk", &gcc, 0x42, &video_cc, 0xb },
|
||||
{ "video_cc_sleep_clk", &gcc, 0x42, &video_cc, 0xd },
|
||||
{ "video_cc_vcodec0_axi_clk", &gcc, 0x42, &video_cc, 0x6 },
|
||||
{ "video_cc_vcodec0_core_clk", &gcc, 0x42, &video_cc, 0x3 },
|
||||
{ "video_cc_venus_ahb_clk", &gcc, 0x42, &video_cc, 0x9 },
|
||||
{ "video_cc_venus_ctl_axi_clk", &gcc, 0x42, &video_cc, 0x5 },
|
||||
{ "video_cc_venus_ctl_core_clk", &gcc, 0x42, &video_cc, 0x1 },
|
||||
{ "video_cc_xo_clk", &gcc, 0x42, &video_cc, 0xc },
|
||||
{ "video_cc_apb_clk", &video_cc, 0x8 },
|
||||
{ "video_cc_at_clk", &video_cc, 0xb },
|
||||
{ "video_cc_sleep_clk", &video_cc, 0xd },
|
||||
{ "video_cc_vcodec0_axi_clk", &video_cc, 0x6 },
|
||||
{ "video_cc_vcodec0_core_clk", &video_cc, 0x3 },
|
||||
{ "video_cc_venus_ahb_clk", &video_cc, 0x9 },
|
||||
{ "video_cc_venus_ctl_axi_clk", &video_cc, 0x5 },
|
||||
{ "video_cc_venus_ctl_core_clk", &video_cc, 0x1 },
|
||||
{ "video_cc_xo_clk", &video_cc, 0xc },
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
321
sm6350.c
321
sm6350.c
@@ -12,11 +12,38 @@
|
||||
|
||||
#include "debugcc.h"
|
||||
|
||||
static struct gcc_mux gcc = {
|
||||
.mux = {
|
||||
.phys = 0x100000,
|
||||
.size = 0x1f0000,
|
||||
|
||||
.measure = measure_gcc,
|
||||
|
||||
.enable_reg = 0x3500c,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
.mux_reg = 0x35f08,
|
||||
.mux_mask = 0x3ff,
|
||||
|
||||
.div_reg = 0x35008,
|
||||
.div_mask = 0x7,
|
||||
.div_val = 4,
|
||||
},
|
||||
|
||||
.xo_div4_reg = 0x2c008,
|
||||
.debug_ctl_reg = 0x35f24,
|
||||
.debug_status_reg = 0x35f28,
|
||||
};
|
||||
|
||||
static struct debug_mux cpu_cc = {
|
||||
.phys = 0x182a0000,
|
||||
.size = 0x1000,
|
||||
.block_name = "cpu",
|
||||
|
||||
.measure = measure_leaf,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0xbe,
|
||||
|
||||
.enable_reg = 0x18,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
@@ -35,6 +62,10 @@ static struct debug_mux disp_cc = {
|
||||
.size = 0x20000,
|
||||
.block_name = "disp",
|
||||
|
||||
.measure = measure_leaf,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0x40,
|
||||
|
||||
.enable_reg = 0x3004,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
@@ -46,30 +77,15 @@ static struct debug_mux disp_cc = {
|
||||
.div_val = 4,
|
||||
};
|
||||
|
||||
static struct debug_mux gcc = {
|
||||
.phys = 0x100000,
|
||||
.size = 0x1f0000,
|
||||
|
||||
.enable_reg = 0x3500c,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
.mux_reg = 0x35f08,
|
||||
.mux_mask = 0x3ff,
|
||||
|
||||
.div_reg = 0x35008,
|
||||
.div_mask = 0x7,
|
||||
.div_val = 4,
|
||||
|
||||
.xo_div4_reg = 0x2c008,
|
||||
.debug_ctl_reg = 0x35f24,
|
||||
.debug_status_reg = 0x35f28,
|
||||
};
|
||||
|
||||
static struct debug_mux gpu_cc = {
|
||||
.phys = 0x3d90000,
|
||||
.size = 0x9000,
|
||||
.block_name = "gpu",
|
||||
|
||||
.measure = measure_leaf,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0x107,
|
||||
|
||||
.enable_reg = 0x1100,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
@@ -87,147 +103,146 @@ static struct debug_mux mc_cc = {
|
||||
.block_name = "mc",
|
||||
|
||||
.measure = measure_mccc,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0xab,
|
||||
};
|
||||
|
||||
static struct measure_clk sm6350_clocks[] = {
|
||||
{ "l3_clk", &gcc, 0xbe, &cpu_cc, 0x41 },
|
||||
{ "pwrcl_clk", &gcc, 0xbe, &cpu_cc, 0x21 },
|
||||
{ "perfcl_clk", &gcc, 0xbe, &cpu_cc, 0x25 },
|
||||
//{ "cam_cc_debug_mux", &gcc.mux, 0x3f },
|
||||
//{ "npu_cc_debug_mux", &gcc.mux, 0x11a },
|
||||
//{ "video_cc_debug_mux", &gcc.mux, 0x41 },
|
||||
|
||||
//{ "cam_cc_debug_mux", &gcc, 0x3f },
|
||||
//{ "cpu_cc_debug_mux", &gcc, 0xbe },
|
||||
//{ "disp_cc_debug_mux", &gcc, 0x40 },
|
||||
{ "gcc_aggre_ufs_phy_axi_clk", &gcc, 0xe2 },
|
||||
{ "gcc_aggre_usb3_prim_axi_clk", &gcc, 0xe1 },
|
||||
{ "gcc_boot_rom_ahb_clk", &gcc, 0x80 },
|
||||
{ "gcc_camera_ahb_clk", &gcc, 0x32 },
|
||||
{ "gcc_camera_axi_clk", &gcc, 0x36 },
|
||||
{ "gcc_camera_throttle_nrt_axi_clk", &gcc, 0x4a },
|
||||
{ "gcc_camera_throttle_rt_axi_clk", &gcc, 0x39 },
|
||||
{ "gcc_camera_xo_clk", &gcc, 0x3c },
|
||||
{ "gcc_ce1_ahb_clk", &gcc, 0x92 },
|
||||
{ "gcc_ce1_axi_clk", &gcc, 0x91 },
|
||||
{ "gcc_ce1_clk", &gcc, 0x90 },
|
||||
{ "gcc_cfg_noc_usb3_prim_axi_clk", &gcc, 0x18 },
|
||||
{ "gcc_cpuss_ahb_clk", &gcc, 0xb7 },
|
||||
{ "gcc_cpuss_gnoc_clk", &gcc, 0xb8 },
|
||||
{ "gcc_cpuss_rbcpr_clk", &gcc, 0xb9 },
|
||||
{ "gcc_ddrss_gpu_axi_clk", &gcc, 0xa5 },
|
||||
{ "gcc_disp_ahb_clk", &gcc, 0x33 },
|
||||
{ "gcc_disp_axi_clk", &gcc, 0x37 },
|
||||
{ "gcc_disp_cc_sleep_clk", &gcc, 0x49 },
|
||||
{ "gcc_disp_cc_xo_clk", &gcc, 0x48 },
|
||||
{ "gcc_disp_gpll0_clk", &gcc, 0x44 },
|
||||
{ "gcc_disp_throttle_axi_clk", &gcc, 0x3a },
|
||||
{ "gcc_disp_xo_clk", &gcc, 0x3d },
|
||||
{ "gcc_gp1_clk", &gcc, 0xc5 },
|
||||
{ "gcc_gp2_clk", &gcc, 0xc6 },
|
||||
{ "gcc_gp3_clk", &gcc, 0xc7 },
|
||||
{ "gcc_gpu_cfg_ahb_clk", &gcc, 0x105 },
|
||||
{ "gcc_gpu_gpll0_clk", &gcc, 0x10b },
|
||||
{ "gcc_gpu_gpll0_div_clk", &gcc, 0x10c },
|
||||
{ "gcc_gpu_memnoc_gfx_clk", &gcc, 0x108 },
|
||||
{ "gcc_gpu_snoc_dvm_gfx_clk", &gcc, 0x109 },
|
||||
{ "gcc_npu_axi_clk", &gcc, 0x116 },
|
||||
{ "gcc_npu_bwmon_axi_clk", &gcc, 0x11c },
|
||||
{ "gcc_npu_bwmon_dma_cfg_ahb_clk", &gcc, 0x11d },
|
||||
{ "gcc_npu_bwmon_dsp_cfg_ahb_clk", &gcc, 0x11e },
|
||||
{ "gcc_npu_cfg_ahb_clk", &gcc, 0x115 },
|
||||
{ "gcc_npu_dma_clk", &gcc, 0x11b },
|
||||
{ "gcc_npu_gpll0_clk", &gcc, 0x118 },
|
||||
{ "gcc_npu_gpll0_div_clk", &gcc, 0x119 },
|
||||
{ "gcc_pdm2_clk", &gcc, 0x7d },
|
||||
{ "gcc_pdm_ahb_clk", &gcc, 0x7b },
|
||||
{ "gcc_pdm_xo4_clk", &gcc, 0x7c },
|
||||
{ "gcc_prng_ahb_clk", &gcc, 0x7e },
|
||||
{ "gcc_qupv3_wrap0_core_2x_clk", &gcc, 0x6a },
|
||||
{ "gcc_qupv3_wrap0_core_clk", &gcc, 0x69 },
|
||||
{ "gcc_qupv3_wrap0_s0_clk", &gcc, 0x6b },
|
||||
{ "gcc_qupv3_wrap0_s1_clk", &gcc, 0x6c },
|
||||
{ "gcc_qupv3_wrap0_s2_clk", &gcc, 0x6d },
|
||||
{ "gcc_qupv3_wrap0_s3_clk", &gcc, 0x6e },
|
||||
{ "gcc_qupv3_wrap0_s4_clk", &gcc, 0x6f },
|
||||
{ "gcc_qupv3_wrap0_s5_clk", &gcc, 0x70 },
|
||||
{ "gcc_qupv3_wrap1_core_2x_clk", &gcc, 0x71 },
|
||||
{ "gcc_qupv3_wrap1_core_clk", &gcc, 0x72 },
|
||||
{ "gcc_qupv3_wrap1_s0_clk", &gcc, 0x75 },
|
||||
{ "gcc_qupv3_wrap1_s1_clk", &gcc, 0x76 },
|
||||
{ "gcc_qupv3_wrap1_s2_clk", &gcc, 0x77 },
|
||||
{ "gcc_qupv3_wrap1_s3_clk", &gcc, 0x78 },
|
||||
{ "gcc_qupv3_wrap1_s4_clk", &gcc, 0x79 },
|
||||
{ "gcc_qupv3_wrap1_s5_clk", &gcc, 0x7a },
|
||||
{ "gcc_qupv3_wrap_0_m_ahb_clk", &gcc, 0x67 },
|
||||
{ "gcc_qupv3_wrap_0_s_ahb_clk", &gcc, 0x68 },
|
||||
{ "gcc_qupv3_wrap_1_m_ahb_clk", &gcc, 0x73 },
|
||||
{ "gcc_qupv3_wrap_1_s_ahb_clk", &gcc, 0x74 },
|
||||
{ "gcc_sdcc1_ahb_clk", &gcc, 0x112 },
|
||||
{ "gcc_sdcc1_apps_clk", &gcc, 0x113 },
|
||||
{ "gcc_sdcc1_ice_core_clk", &gcc, 0x114 },
|
||||
{ "gcc_sdcc2_ahb_clk", &gcc, 0x66 },
|
||||
{ "gcc_sdcc2_apps_clk", &gcc, 0x65 },
|
||||
{ "gcc_sys_noc_cpuss_ahb_clk", &gcc, 0x9 },
|
||||
{ "gcc_ufs_phy_ahb_clk", &gcc, 0xc8 },
|
||||
{ "gcc_ufs_phy_axi_clk", &gcc, 0xcc },
|
||||
{ "gcc_ufs_phy_ice_core_clk", &gcc, 0xd1 },
|
||||
{ "gcc_ufs_phy_phy_aux_clk", &gcc, 0xd2 },
|
||||
{ "gcc_ufs_phy_rx_symbol_0_clk", &gcc, 0xca },
|
||||
{ "gcc_ufs_phy_rx_symbol_1_clk", &gcc, 0xcb },
|
||||
{ "gcc_ufs_phy_tx_symbol_0_clk", &gcc, 0xc9 },
|
||||
{ "gcc_ufs_phy_unipro_core_clk", &gcc, 0xd0 },
|
||||
{ "gcc_usb30_prim_master_clk", &gcc, 0x5b },
|
||||
{ "gcc_usb30_prim_mock_utmi_clk", &gcc, 0x5d },
|
||||
{ "gcc_usb30_prim_sleep_clk", &gcc, 0x5c },
|
||||
{ "gcc_usb3_prim_phy_aux_clk", &gcc, 0x5e },
|
||||
{ "gcc_usb3_prim_phy_com_aux_clk", &gcc, 0x5f },
|
||||
{ "gcc_usb3_prim_phy_pipe_clk", &gcc, 0x60 },
|
||||
{ "gcc_video_ahb_clk", &gcc, 0x31 },
|
||||
{ "gcc_video_axi_clk", &gcc, 0x35 },
|
||||
{ "gcc_video_throttle_axi_clk", &gcc, 0x38 },
|
||||
{ "gcc_video_xo_clk", &gcc, 0x3b },
|
||||
//{ "gpu_cc_debug_mux", &gcc, 0x107 },
|
||||
//{ "mc_cc_debug_mux", &gcc, 0xab },
|
||||
{ "measure_only_cnoc_clk", &gcc, 0x14 },
|
||||
{ "measure_only_ipa_2x_clk", &gcc, 0xec },
|
||||
{ "measure_only_snoc_clk", &gcc, 0x07 },
|
||||
//{ "npu_cc_debug_mux", &gcc, 0x11a },
|
||||
//{ "video_cc_debug_mux", &gcc, 0x41 },
|
||||
{ "l3_clk", &cpu_cc, 0x41 },
|
||||
{ "pwrcl_clk", &cpu_cc, 0x21 },
|
||||
{ "perfcl_clk", &cpu_cc, 0x25 },
|
||||
|
||||
{ "disp_cc_mdss_ahb_clk", &gcc, 0x40, &disp_cc, 0x14 },
|
||||
{ "disp_cc_mdss_byte0_clk", &gcc, 0x40, &disp_cc, 0xc },
|
||||
{ "disp_cc_mdss_byte0_intf_clk", &gcc, 0x40, &disp_cc, 0xd },
|
||||
{ "disp_cc_mdss_dp_aux_clk", &gcc, 0x40, &disp_cc, 0x13 },
|
||||
{ "disp_cc_mdss_dp_crypto_clk", &gcc, 0x40, &disp_cc, 0x11 },
|
||||
{ "disp_cc_mdss_dp_link_clk", &gcc, 0x40, &disp_cc, 0xf },
|
||||
{ "disp_cc_mdss_dp_link_intf_clk", &gcc, 0x40, &disp_cc, 0x10 },
|
||||
{ "disp_cc_mdss_dp_pixel_clk", &gcc, 0x40, &disp_cc, 0x12 },
|
||||
{ "disp_cc_mdss_esc0_clk", &gcc, 0x40, &disp_cc, 0xe },
|
||||
{ "disp_cc_mdss_mdp_clk", &gcc, 0x40, &disp_cc, 0x8 },
|
||||
{ "disp_cc_mdss_mdp_lut_clk", &gcc, 0x40, &disp_cc, 0xa },
|
||||
{ "disp_cc_mdss_non_gdsc_ahb_clk", &gcc, 0x40, &disp_cc, 0x15 },
|
||||
{ "disp_cc_mdss_pclk0_clk", &gcc, 0x40, &disp_cc, 0x7 },
|
||||
{ "disp_cc_mdss_rot_clk", &gcc, 0x40, &disp_cc, 0x9 },
|
||||
{ "disp_cc_mdss_rscc_ahb_clk", &gcc, 0x40, &disp_cc, 0x17 },
|
||||
{ "disp_cc_mdss_rscc_vsync_clk", &gcc, 0x40, &disp_cc, 0x16 },
|
||||
{ "disp_cc_mdss_vsync_clk", &gcc, 0x40, &disp_cc, 0xb },
|
||||
{ "disp_cc_sleep_clk", &gcc, 0x40, &disp_cc, 0x1d },
|
||||
{ "disp_cc_xo_clk", &gcc, 0x40, &disp_cc, 0x1e },
|
||||
{ "gcc_aggre_ufs_phy_axi_clk", &gcc.mux, 0xe2 },
|
||||
{ "gcc_aggre_usb3_prim_axi_clk", &gcc.mux, 0xe1 },
|
||||
{ "gcc_boot_rom_ahb_clk", &gcc.mux, 0x80 },
|
||||
{ "gcc_camera_ahb_clk", &gcc.mux, 0x32 },
|
||||
{ "gcc_camera_axi_clk", &gcc.mux, 0x36 },
|
||||
{ "gcc_camera_throttle_nrt_axi_clk", &gcc.mux, 0x4a },
|
||||
{ "gcc_camera_throttle_rt_axi_clk", &gcc.mux, 0x39 },
|
||||
{ "gcc_camera_xo_clk", &gcc.mux, 0x3c },
|
||||
{ "gcc_ce1_ahb_clk", &gcc.mux, 0x92 },
|
||||
{ "gcc_ce1_axi_clk", &gcc.mux, 0x91 },
|
||||
{ "gcc_ce1_clk", &gcc.mux, 0x90 },
|
||||
{ "gcc_cfg_noc_usb3_prim_axi_clk", &gcc.mux, 0x18 },
|
||||
{ "gcc_cpuss_ahb_clk", &gcc.mux, 0xb7 },
|
||||
{ "gcc_cpuss_gnoc_clk", &gcc.mux, 0xb8 },
|
||||
{ "gcc_cpuss_rbcpr_clk", &gcc.mux, 0xb9 },
|
||||
{ "gcc_ddrss_gpu_axi_clk", &gcc.mux, 0xa5 },
|
||||
{ "gcc_disp_ahb_clk", &gcc.mux, 0x33 },
|
||||
{ "gcc_disp_axi_clk", &gcc.mux, 0x37 },
|
||||
{ "gcc_disp_cc_sleep_clk", &gcc.mux, 0x49 },
|
||||
{ "gcc_disp_cc_xo_clk", &gcc.mux, 0x48 },
|
||||
{ "gcc_disp_gpll0_clk", &gcc.mux, 0x44 },
|
||||
{ "gcc_disp_throttle_axi_clk", &gcc.mux, 0x3a },
|
||||
{ "gcc_disp_xo_clk", &gcc.mux, 0x3d },
|
||||
{ "gcc_gp1_clk", &gcc.mux, 0xc5 },
|
||||
{ "gcc_gp2_clk", &gcc.mux, 0xc6 },
|
||||
{ "gcc_gp3_clk", &gcc.mux, 0xc7 },
|
||||
{ "gcc_gpu_cfg_ahb_clk", &gcc.mux, 0x105 },
|
||||
{ "gcc_gpu_gpll0_clk", &gcc.mux, 0x10b },
|
||||
{ "gcc_gpu_gpll0_div_clk", &gcc.mux, 0x10c },
|
||||
{ "gcc_gpu_memnoc_gfx_clk", &gcc.mux, 0x108 },
|
||||
{ "gcc_gpu_snoc_dvm_gfx_clk", &gcc.mux, 0x109 },
|
||||
{ "gcc_npu_axi_clk", &gcc.mux, 0x116 },
|
||||
{ "gcc_npu_bwmon_axi_clk", &gcc.mux, 0x11c },
|
||||
{ "gcc_npu_bwmon_dma_cfg_ahb_clk", &gcc.mux, 0x11d },
|
||||
{ "gcc_npu_bwmon_dsp_cfg_ahb_clk", &gcc.mux, 0x11e },
|
||||
{ "gcc_npu_cfg_ahb_clk", &gcc.mux, 0x115 },
|
||||
{ "gcc_npu_dma_clk", &gcc.mux, 0x11b },
|
||||
{ "gcc_npu_gpll0_clk", &gcc.mux, 0x118 },
|
||||
{ "gcc_npu_gpll0_div_clk", &gcc.mux, 0x119 },
|
||||
{ "gcc_pdm2_clk", &gcc.mux, 0x7d },
|
||||
{ "gcc_pdm_ahb_clk", &gcc.mux, 0x7b },
|
||||
{ "gcc_pdm_xo4_clk", &gcc.mux, 0x7c },
|
||||
{ "gcc_prng_ahb_clk", &gcc.mux, 0x7e },
|
||||
{ "gcc_qupv3_wrap0_core_2x_clk", &gcc.mux, 0x6a },
|
||||
{ "gcc_qupv3_wrap0_core_clk", &gcc.mux, 0x69 },
|
||||
{ "gcc_qupv3_wrap0_s0_clk", &gcc.mux, 0x6b },
|
||||
{ "gcc_qupv3_wrap0_s1_clk", &gcc.mux, 0x6c },
|
||||
{ "gcc_qupv3_wrap0_s2_clk", &gcc.mux, 0x6d },
|
||||
{ "gcc_qupv3_wrap0_s3_clk", &gcc.mux, 0x6e },
|
||||
{ "gcc_qupv3_wrap0_s4_clk", &gcc.mux, 0x6f },
|
||||
{ "gcc_qupv3_wrap0_s5_clk", &gcc.mux, 0x70 },
|
||||
{ "gcc_qupv3_wrap1_core_2x_clk", &gcc.mux, 0x71 },
|
||||
{ "gcc_qupv3_wrap1_core_clk", &gcc.mux, 0x72 },
|
||||
{ "gcc_qupv3_wrap1_s0_clk", &gcc.mux, 0x75 },
|
||||
{ "gcc_qupv3_wrap1_s1_clk", &gcc.mux, 0x76 },
|
||||
{ "gcc_qupv3_wrap1_s2_clk", &gcc.mux, 0x77 },
|
||||
{ "gcc_qupv3_wrap1_s3_clk", &gcc.mux, 0x78 },
|
||||
{ "gcc_qupv3_wrap1_s4_clk", &gcc.mux, 0x79 },
|
||||
{ "gcc_qupv3_wrap1_s5_clk", &gcc.mux, 0x7a },
|
||||
{ "gcc_qupv3_wrap_0_m_ahb_clk", &gcc.mux, 0x67 },
|
||||
{ "gcc_qupv3_wrap_0_s_ahb_clk", &gcc.mux, 0x68 },
|
||||
{ "gcc_qupv3_wrap_1_m_ahb_clk", &gcc.mux, 0x73 },
|
||||
{ "gcc_qupv3_wrap_1_s_ahb_clk", &gcc.mux, 0x74 },
|
||||
{ "gcc_sdcc1_ahb_clk", &gcc.mux, 0x112 },
|
||||
{ "gcc_sdcc1_apps_clk", &gcc.mux, 0x113 },
|
||||
{ "gcc_sdcc1_ice_core_clk", &gcc.mux, 0x114 },
|
||||
{ "gcc_sdcc2_ahb_clk", &gcc.mux, 0x66 },
|
||||
{ "gcc_sdcc2_apps_clk", &gcc.mux, 0x65 },
|
||||
{ "gcc_sys_noc_cpuss_ahb_clk", &gcc.mux, 0x9 },
|
||||
{ "gcc_ufs_phy_ahb_clk", &gcc.mux, 0xc8 },
|
||||
{ "gcc_ufs_phy_axi_clk", &gcc.mux, 0xcc },
|
||||
{ "gcc_ufs_phy_ice_core_clk", &gcc.mux, 0xd1 },
|
||||
{ "gcc_ufs_phy_phy_aux_clk", &gcc.mux, 0xd2 },
|
||||
{ "gcc_ufs_phy_rx_symbol_0_clk", &gcc.mux, 0xca },
|
||||
{ "gcc_ufs_phy_rx_symbol_1_clk", &gcc.mux, 0xcb },
|
||||
{ "gcc_ufs_phy_tx_symbol_0_clk", &gcc.mux, 0xc9 },
|
||||
{ "gcc_ufs_phy_unipro_core_clk", &gcc.mux, 0xd0 },
|
||||
{ "gcc_usb30_prim_master_clk", &gcc.mux, 0x5b },
|
||||
{ "gcc_usb30_prim_mock_utmi_clk", &gcc.mux, 0x5d },
|
||||
{ "gcc_usb30_prim_sleep_clk", &gcc.mux, 0x5c },
|
||||
{ "gcc_usb3_prim_phy_aux_clk", &gcc.mux, 0x5e },
|
||||
{ "gcc_usb3_prim_phy_com_aux_clk", &gcc.mux, 0x5f },
|
||||
{ "gcc_usb3_prim_phy_pipe_clk", &gcc.mux, 0x60 },
|
||||
{ "gcc_video_ahb_clk", &gcc.mux, 0x31 },
|
||||
{ "gcc_video_axi_clk", &gcc.mux, 0x35 },
|
||||
{ "gcc_video_throttle_axi_clk", &gcc.mux, 0x38 },
|
||||
{ "gcc_video_xo_clk", &gcc.mux, 0x3b },
|
||||
{ "measure_only_cnoc_clk", &gcc.mux, 0x14 },
|
||||
{ "measure_only_ipa_2x_clk", &gcc.mux, 0xec },
|
||||
{ "measure_only_snoc_clk", &gcc.mux, 0x07 },
|
||||
|
||||
{ "gpu_cc_acd_ahb_clk", &gcc, 0x107, &gpu_cc, 0x20 },
|
||||
{ "gpu_cc_acd_cxo_clk", &gcc, 0x107, &gpu_cc, 0x1f },
|
||||
{ "gpu_cc_ahb_clk", &gcc, 0x107, &gpu_cc, 0x11 },
|
||||
{ "gpu_cc_crc_ahb_clk", &gcc, 0x107, &gpu_cc, 0x12 },
|
||||
{ "gpu_cc_cx_gfx3d_clk", &gcc, 0x107, &gpu_cc, 0x1a },
|
||||
{ "gpu_cc_cx_gfx3d_slv_clk", &gcc, 0x107, &gpu_cc, 0x1b },
|
||||
{ "gpu_cc_cx_gmu_clk", &gcc, 0x107, &gpu_cc, 0x19 },
|
||||
{ "gpu_cc_cx_snoc_dvm_clk", &gcc, 0x107, &gpu_cc, 0x16 },
|
||||
{ "gpu_cc_cxo_aon_clk", &gcc, 0x107, &gpu_cc, 0xb },
|
||||
{ "gpu_cc_cxo_clk", &gcc, 0x107, &gpu_cc, 0xa },
|
||||
{ "gpu_cc_gx_cxo_clk", &gcc, 0x107, &gpu_cc, 0xf },
|
||||
{ "gpu_cc_gx_gfx3d_clk", &gcc, 0x107, &gpu_cc, 0xc },
|
||||
{ "gpu_cc_gx_gmu_clk", &gcc, 0x107, &gpu_cc, 0x10 },
|
||||
{ "gpu_cc_gx_vsense_clk", &gcc, 0x107, &gpu_cc, 0xd },
|
||||
{ "disp_cc_mdss_ahb_clk", &disp_cc, 0x14 },
|
||||
{ "disp_cc_mdss_byte0_clk", &disp_cc, 0xc },
|
||||
{ "disp_cc_mdss_byte0_intf_clk", &disp_cc, 0xd },
|
||||
{ "disp_cc_mdss_dp_aux_clk", &disp_cc, 0x13 },
|
||||
{ "disp_cc_mdss_dp_crypto_clk", &disp_cc, 0x11 },
|
||||
{ "disp_cc_mdss_dp_link_clk", &disp_cc, 0xf },
|
||||
{ "disp_cc_mdss_dp_link_intf_clk", &disp_cc, 0x10 },
|
||||
{ "disp_cc_mdss_dp_pixel_clk", &disp_cc, 0x12 },
|
||||
{ "disp_cc_mdss_esc0_clk", &disp_cc, 0xe },
|
||||
{ "disp_cc_mdss_mdp_clk", &disp_cc, 0x8 },
|
||||
{ "disp_cc_mdss_mdp_lut_clk", &disp_cc, 0xa },
|
||||
{ "disp_cc_mdss_non_gdsc_ahb_clk", &disp_cc, 0x15 },
|
||||
{ "disp_cc_mdss_pclk0_clk", &disp_cc, 0x7 },
|
||||
{ "disp_cc_mdss_rot_clk", &disp_cc, 0x9 },
|
||||
{ "disp_cc_mdss_rscc_ahb_clk", &disp_cc, 0x17 },
|
||||
{ "disp_cc_mdss_rscc_vsync_clk", &disp_cc, 0x16 },
|
||||
{ "disp_cc_mdss_vsync_clk", &disp_cc, 0xb },
|
||||
{ "disp_cc_sleep_clk", &disp_cc, 0x1d },
|
||||
{ "disp_cc_xo_clk", &disp_cc, 0x1e },
|
||||
|
||||
{ "mccc_clk", &gcc, 0xab, &mc_cc, 0x50 },
|
||||
{ "gpu_cc_acd_ahb_clk", &gpu_cc, 0x20 },
|
||||
{ "gpu_cc_acd_cxo_clk", &gpu_cc, 0x1f },
|
||||
{ "gpu_cc_ahb_clk", &gpu_cc, 0x11 },
|
||||
{ "gpu_cc_crc_ahb_clk", &gpu_cc, 0x12 },
|
||||
{ "gpu_cc_cx_gfx3d_clk", &gpu_cc, 0x1a },
|
||||
{ "gpu_cc_cx_gfx3d_slv_clk", &gpu_cc, 0x1b },
|
||||
{ "gpu_cc_cx_gmu_clk", &gpu_cc, 0x19 },
|
||||
{ "gpu_cc_cx_snoc_dvm_clk", &gpu_cc, 0x16 },
|
||||
{ "gpu_cc_cxo_aon_clk", &gpu_cc, 0xb },
|
||||
{ "gpu_cc_cxo_clk", &gpu_cc, 0xa },
|
||||
{ "gpu_cc_gx_cxo_clk", &gpu_cc, 0xf },
|
||||
{ "gpu_cc_gx_gfx3d_clk", &gpu_cc, 0xc },
|
||||
{ "gpu_cc_gx_gmu_clk", &gpu_cc, 0x10 },
|
||||
{ "gpu_cc_gx_vsense_clk", &gpu_cc, 0xd },
|
||||
|
||||
{ "mccc_clk", &mc_cc, 0x50 },
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
357
sm6375.c
357
sm6375.c
@@ -12,11 +12,36 @@
|
||||
|
||||
#include "debugcc.h"
|
||||
|
||||
static struct gcc_mux gcc = {
|
||||
.mux = {
|
||||
.phys = 0x1400000,
|
||||
.size = 0x1f0000,
|
||||
|
||||
.enable_reg = 0x30004,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
.mux_reg = 0x62000,
|
||||
.mux_mask = 0x3ff,
|
||||
|
||||
.div_reg = 0x30000,
|
||||
.div_mask = 0xf,
|
||||
.div_val = 1,
|
||||
},
|
||||
|
||||
.xo_div4_reg = 0x28008,
|
||||
.debug_ctl_reg = 0x62038,
|
||||
.debug_status_reg = 0x6203c,
|
||||
};
|
||||
|
||||
static struct debug_mux cpu_cc = {
|
||||
.phys = 0xfaa0000,
|
||||
.size = 0x1000,
|
||||
.block_name = "cpu",
|
||||
|
||||
.measure = measure_leaf,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0xbf,
|
||||
|
||||
.enable_reg = 0x18,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
@@ -35,6 +60,10 @@ static struct debug_mux disp_cc = {
|
||||
.size = 0x20000,
|
||||
.block_name = "disp",
|
||||
|
||||
.measure = measure_leaf,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0x43,
|
||||
|
||||
.enable_reg = 0x3004,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
@@ -46,30 +75,15 @@ static struct debug_mux disp_cc = {
|
||||
.div_val = 4,
|
||||
};
|
||||
|
||||
static struct debug_mux gcc = {
|
||||
.phys = 0x1400000,
|
||||
.size = 0x1f0000,
|
||||
|
||||
.enable_reg = 0x30004,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
.mux_reg = 0x62000,
|
||||
.mux_mask = 0x3ff,
|
||||
|
||||
.div_reg = 0x30000,
|
||||
.div_mask = 0xf,
|
||||
.div_val = 1,
|
||||
|
||||
.xo_div4_reg = 0x28008,
|
||||
.debug_ctl_reg = 0x62038,
|
||||
.debug_status_reg = 0x6203c,
|
||||
};
|
||||
|
||||
static struct debug_mux gpu_cc = {
|
||||
.phys = 0x5990000,
|
||||
.size = 0x9000,
|
||||
.block_name = "gpu",
|
||||
|
||||
.measure = measure_leaf,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0xfb,
|
||||
|
||||
.enable_reg = 0x1100,
|
||||
.enable_mask = BIT(0),
|
||||
|
||||
@@ -88,165 +102,164 @@ static struct debug_mux mc_cc = {
|
||||
.block_name = "mc",
|
||||
|
||||
.measure = measure_mccc,
|
||||
.parent = &gcc.mux,
|
||||
.parent_mux_val = 0xae,
|
||||
};
|
||||
|
||||
static struct measure_clk sm6375_clocks[] = {
|
||||
{ "l3_clk", &gcc, 0xbf, &cpu_cc, 0x41 },
|
||||
{ "perfcl_clk", &gcc, 0xbf, &cpu_cc, 0x25 },
|
||||
{ "pwrcl_clk", &gcc, 0xbf, &cpu_cc, 0x21 },
|
||||
//{ "cpu_cc_debug_mux", &gcc, 0xbf },
|
||||
//{ "disp_cc_debug_mux", &gcc, 0x43 },
|
||||
{ "gcc_ahb2phy_csi_clk", &gcc, 0x67 },
|
||||
{ "gcc_ahb2phy_usb_clk", &gcc, 0x68 },
|
||||
{ "gcc_bimc_gpu_axi_clk", &gcc, 0x9d },
|
||||
{ "gcc_boot_rom_ahb_clk", &gcc, 0x84 },
|
||||
{ "gcc_cam_throttle_nrt_clk", &gcc, 0x4d },
|
||||
{ "gcc_cam_throttle_rt_clk", &gcc, 0x4c },
|
||||
{ "gcc_camss_axi_clk", &gcc, 0x154 },
|
||||
{ "gcc_camss_cci_0_clk", &gcc, 0x151 },
|
||||
{ "gcc_camss_cci_1_clk", &gcc, 0x152 },
|
||||
{ "gcc_camss_cphy_0_clk", &gcc, 0x140 },
|
||||
{ "gcc_camss_cphy_1_clk", &gcc, 0x141 },
|
||||
{ "gcc_camss_cphy_2_clk", &gcc, 0x142 },
|
||||
{ "gcc_camss_cphy_3_clk", &gcc, 0x143 },
|
||||
{ "gcc_camss_csi0phytimer_clk", &gcc, 0x130 },
|
||||
{ "gcc_camss_csi1phytimer_clk", &gcc, 0x131 },
|
||||
{ "gcc_camss_csi2phytimer_clk", &gcc, 0x132 },
|
||||
{ "gcc_camss_csi3phytimer_clk", &gcc, 0x133 },
|
||||
{ "gcc_camss_mclk0_clk", &gcc, 0x134 },
|
||||
{ "gcc_camss_mclk1_clk", &gcc, 0x135 },
|
||||
{ "gcc_camss_mclk2_clk", &gcc, 0x136 },
|
||||
{ "gcc_camss_mclk3_clk", &gcc, 0x137 },
|
||||
{ "gcc_camss_mclk4_clk", &gcc, 0x138 },
|
||||
{ "gcc_camss_nrt_axi_clk", &gcc, 0x158 },
|
||||
{ "gcc_camss_ope_ahb_clk", &gcc, 0x150 },
|
||||
{ "gcc_camss_ope_clk", &gcc, 0x14e },
|
||||
{ "gcc_camss_rt_axi_clk", &gcc, 0x15a },
|
||||
{ "gcc_camss_tfe_0_clk", &gcc, 0x139 },
|
||||
{ "gcc_camss_tfe_0_cphy_rx_clk", &gcc, 0x13d },
|
||||
{ "gcc_camss_tfe_0_csid_clk", &gcc, 0x144 },
|
||||
{ "gcc_camss_tfe_1_clk", &gcc, 0x13a },
|
||||
{ "gcc_camss_tfe_1_cphy_rx_clk", &gcc, 0x13e },
|
||||
{ "gcc_camss_tfe_1_csid_clk", &gcc, 0x146 },
|
||||
{ "gcc_camss_tfe_2_clk", &gcc, 0x13b },
|
||||
{ "gcc_camss_tfe_2_cphy_rx_clk", &gcc, 0x13f },
|
||||
{ "gcc_camss_tfe_2_csid_clk", &gcc, 0x148 },
|
||||
{ "gcc_camss_top_ahb_clk", &gcc, 0x153 },
|
||||
{ "gcc_cfg_noc_usb3_prim_axi_clk", &gcc, 0x1f },
|
||||
{ "gcc_disp_gpll0_div_clk_src", &gcc, 0x48 },
|
||||
{ "gcc_disp_hf_axi_clk", &gcc, 0x3e },
|
||||
{ "gcc_disp_sleep_clk", &gcc, 0x4e },
|
||||
{ "gcc_disp_throttle_core_clk", &gcc, 0x4a },
|
||||
{ "gcc_gp1_clk", &gcc, 0xca },
|
||||
{ "gcc_gp2_clk", &gcc, 0xcb },
|
||||
{ "gcc_gp3_clk", &gcc, 0xcc },
|
||||
{ "gcc_gpu_gpll0_clk_src", &gcc, 0xff },
|
||||
{ "gcc_gpu_gpll0_div_clk_src", &gcc, 0x100 },
|
||||
{ "gcc_gpu_memnoc_gfx_clk", &gcc, 0xfc },
|
||||
{ "gcc_gpu_snoc_dvm_gfx_clk", &gcc, 0xfe },
|
||||
{ "gcc_gpu_throttle_core_clk", &gcc, 0x103 },
|
||||
{ "gcc_pdm2_clk", &gcc, 0x81 },
|
||||
{ "gcc_pdm_ahb_clk", &gcc, 0x7f },
|
||||
{ "gcc_pdm_xo4_clk", &gcc, 0x80 },
|
||||
{ "gcc_prng_ahb_clk", &gcc, 0x82 },
|
||||
{ "gcc_qmip_camera_nrt_ahb_clk", &gcc, 0x3b },
|
||||
{ "gcc_qmip_camera_rt_ahb_clk", &gcc, 0x49 },
|
||||
{ "gcc_qmip_disp_ahb_clk", &gcc, 0x3c },
|
||||
{ "gcc_qmip_gpu_cfg_ahb_clk", &gcc, 0x101 },
|
||||
{ "gcc_qmip_video_vcodec_ahb_clk", &gcc, 0x3a },
|
||||
{ "gcc_qupv3_wrap0_core_2x_clk", &gcc, 0x6e },
|
||||
{ "gcc_qupv3_wrap0_core_clk", &gcc, 0x6d },
|
||||
{ "gcc_qupv3_wrap0_s0_clk", &gcc, 0x6f },
|
||||
{ "gcc_qupv3_wrap0_s1_clk", &gcc, 0x70 },
|
||||
{ "gcc_qupv3_wrap0_s2_clk", &gcc, 0x71 },
|
||||
{ "gcc_qupv3_wrap0_s3_clk", &gcc, 0x72 },
|
||||
{ "gcc_qupv3_wrap0_s4_clk", &gcc, 0x73 },
|
||||
{ "gcc_qupv3_wrap0_s5_clk", &gcc, 0x74 },
|
||||
{ "gcc_qupv3_wrap1_core_2x_clk", &gcc, 0x78 },
|
||||
{ "gcc_qupv3_wrap1_core_clk", &gcc, 0x77 },
|
||||
{ "gcc_qupv3_wrap1_s0_clk", &gcc, 0x79 },
|
||||
{ "gcc_qupv3_wrap1_s1_clk", &gcc, 0x7a },
|
||||
{ "gcc_qupv3_wrap1_s2_clk", &gcc, 0x7b },
|
||||
{ "gcc_qupv3_wrap1_s3_clk", &gcc, 0x7c },
|
||||
{ "gcc_qupv3_wrap1_s5_clk", &gcc, 0x7e },
|
||||
{ "gcc_qupv3_wrap_0_m_ahb_clk", &gcc, 0x6b },
|
||||
{ "gcc_qupv3_wrap_0_s_ahb_clk", &gcc, 0x6c },
|
||||
{ "gcc_sdcc1_ahb_clk", &gcc, 0x108 },
|
||||
{ "gcc_sdcc1_apps_clk", &gcc, 0x107 },
|
||||
{ "gcc_sdcc1_ice_core_clk", &gcc, 0x109 },
|
||||
{ "gcc_sdcc2_ahb_clk", &gcc, 0x6a },
|
||||
{ "gcc_sdcc2_apps_clk", &gcc, 0x69 },
|
||||
{ "gcc_sys_noc_cpuss_ahb_clk", &gcc, 0x9 },
|
||||
{ "gcc_sys_noc_ufs_phy_axi_clk", &gcc, 0x1b },
|
||||
{ "gcc_sys_noc_usb3_prim_axi_clk", &gcc, 0x1a },
|
||||
{ "gcc_ufs_phy_ahb_clk", &gcc, 0x127 },
|
||||
{ "gcc_ufs_phy_axi_clk", &gcc, 0x126 },
|
||||
{ "gcc_ufs_phy_ice_core_clk", &gcc, 0x12d },
|
||||
{ "gcc_ufs_phy_phy_aux_clk", &gcc, 0x12e },
|
||||
{ "gcc_ufs_phy_rx_symbol_0_clk", &gcc, 0x129 },
|
||||
{ "gcc_ufs_phy_tx_symbol_0_clk", &gcc, 0x128 },
|
||||
{ "gcc_ufs_phy_unipro_core_clk", &gcc, 0x12c },
|
||||
{ "gcc_usb30_prim_master_clk", &gcc, 0x5e },
|
||||
{ "gcc_usb30_prim_mock_utmi_clk", &gcc, 0x60 },
|
||||
{ "gcc_usb30_prim_sleep_clk", &gcc, 0x5f },
|
||||
{ "gcc_usb3_prim_phy_com_aux_clk", &gcc, 0x61 },
|
||||
{ "gcc_usb3_prim_phy_pipe_clk", &gcc, 0x62 },
|
||||
{ "gcc_vcodec0_axi_clk", &gcc, 0x160 },
|
||||
{ "gcc_venus_ahb_clk", &gcc, 0x161 },
|
||||
{ "gcc_venus_ctl_axi_clk", &gcc, 0x15f },
|
||||
{ "gcc_video_axi0_clk", &gcc, 0x3d },
|
||||
{ "gcc_video_throttle_core_clk", &gcc, 0x4b },
|
||||
{ "gcc_video_vcodec0_sys_clk", &gcc, 0x15d },
|
||||
{ "gcc_video_venus_ctl_clk", &gcc, 0x15b },
|
||||
{ "gcc_video_xo_clk", &gcc, 0x3f },
|
||||
//{ "gpu_cc_debug_mux", &gcc, 0xfb },
|
||||
//{ "mc_cc_debug_mux", &gcc, 0xae },
|
||||
{ "measure_only_cnoc_clk", &gcc, 0x1d },
|
||||
{ "measure_only_gcc_camera_ahb_clk", &gcc, 0x38 },
|
||||
{ "measure_only_gcc_camera_xo_clk", &gcc, 0x40 },
|
||||
{ "measure_only_gcc_cpuss_gnoc_clk", &gcc, 0xba },
|
||||
{ "measure_only_gcc_disp_ahb_clk", &gcc, 0x39 },
|
||||
{ "measure_only_gcc_disp_xo_clk", &gcc, 0x41 },
|
||||
{ "measure_only_gcc_gpu_cfg_ahb_clk", &gcc, 0xf9 },
|
||||
{ "measure_only_gcc_qupv3_wrap1_s4_clk", &gcc, 0x7d },
|
||||
{ "measure_only_gcc_qupv3_wrap_1_m_ahb_clk", &gcc, 0x75 },
|
||||
{ "measure_only_gcc_qupv3_wrap_1_s_ahb_clk", &gcc, 0x76 },
|
||||
{ "measure_only_gcc_video_ahb_clk", &gcc, 0x37 },
|
||||
{ "measure_only_hwkm_ahb_clk", &gcc, 0x166 },
|
||||
{ "measure_only_hwkm_km_core_clk", &gcc, 0x167 },
|
||||
{ "measure_only_ipa_2x_clk", &gcc, 0xd7 },
|
||||
{ "measure_only_pka_ahb_clk", &gcc, 0x162 },
|
||||
{ "measure_only_pka_core_clk", &gcc, 0x163 },
|
||||
{ "measure_only_snoc_clk", &gcc, 0x7 },
|
||||
{ "l3_clk", &cpu_cc, 0x41 },
|
||||
{ "perfcl_clk", &cpu_cc, 0x25 },
|
||||
{ "pwrcl_clk", &cpu_cc, 0x21 },
|
||||
|
||||
{ "disp_cc_mdss_ahb_clk", &gcc, 0x43, &disp_cc, 0x14 },
|
||||
{ "disp_cc_mdss_byte0_clk", &gcc, 0x43, &disp_cc, 0xc },
|
||||
{ "disp_cc_mdss_byte0_intf_clk", &gcc, 0x43, &disp_cc, 0xd },
|
||||
{ "disp_cc_mdss_esc0_clk", &gcc, 0x43, &disp_cc, 0xe },
|
||||
{ "disp_cc_mdss_mdp_clk", &gcc, 0x43, &disp_cc, 0x8 },
|
||||
{ "disp_cc_mdss_mdp_lut_clk", &gcc, 0x43, &disp_cc, 0xa },
|
||||
{ "disp_cc_mdss_non_gdsc_ahb_clk", &gcc, 0x43, &disp_cc, 0x15 },
|
||||
{ "disp_cc_mdss_pclk0_clk", &gcc, 0x43, &disp_cc, 0x7 },
|
||||
{ "disp_cc_mdss_rot_clk", &gcc, 0x43, &disp_cc, 0x9 },
|
||||
{ "disp_cc_mdss_rscc_ahb_clk", &gcc, 0x43, &disp_cc, 0x17 },
|
||||
{ "disp_cc_mdss_rscc_vsync_clk", &gcc, 0x43, &disp_cc, 0x16 },
|
||||
{ "disp_cc_mdss_vsync_clk", &gcc, 0x43, &disp_cc, 0xb },
|
||||
{ "measure_only_disp_cc_sleep_clk", &gcc, 0x43, &disp_cc, 0x1d },
|
||||
{ "measure_only_disp_cc_xo_clk", &gcc, 0x43, &disp_cc, 0x1e },
|
||||
{ "gcc_ahb2phy_csi_clk", &gcc.mux, 0x67 },
|
||||
{ "gcc_ahb2phy_usb_clk", &gcc.mux, 0x68 },
|
||||
{ "gcc_bimc_gpu_axi_clk", &gcc.mux, 0x9d },
|
||||
{ "gcc_boot_rom_ahb_clk", &gcc.mux, 0x84 },
|
||||
{ "gcc_cam_throttle_nrt_clk", &gcc.mux, 0x4d },
|
||||
{ "gcc_cam_throttle_rt_clk", &gcc.mux, 0x4c },
|
||||
{ "gcc_camss_axi_clk", &gcc.mux, 0x154 },
|
||||
{ "gcc_camss_cci_0_clk", &gcc.mux, 0x151 },
|
||||
{ "gcc_camss_cci_1_clk", &gcc.mux, 0x152 },
|
||||
{ "gcc_camss_cphy_0_clk", &gcc.mux, 0x140 },
|
||||
{ "gcc_camss_cphy_1_clk", &gcc.mux, 0x141 },
|
||||
{ "gcc_camss_cphy_2_clk", &gcc.mux, 0x142 },
|
||||
{ "gcc_camss_cphy_3_clk", &gcc.mux, 0x143 },
|
||||
{ "gcc_camss_csi0phytimer_clk", &gcc.mux, 0x130 },
|
||||
{ "gcc_camss_csi1phytimer_clk", &gcc.mux, 0x131 },
|
||||
{ "gcc_camss_csi2phytimer_clk", &gcc.mux, 0x132 },
|
||||
{ "gcc_camss_csi3phytimer_clk", &gcc.mux, 0x133 },
|
||||
{ "gcc_camss_mclk0_clk", &gcc.mux, 0x134 },
|
||||
{ "gcc_camss_mclk1_clk", &gcc.mux, 0x135 },
|
||||
{ "gcc_camss_mclk2_clk", &gcc.mux, 0x136 },
|
||||
{ "gcc_camss_mclk3_clk", &gcc.mux, 0x137 },
|
||||
{ "gcc_camss_mclk4_clk", &gcc.mux, 0x138 },
|
||||
{ "gcc_camss_nrt_axi_clk", &gcc.mux, 0x158 },
|
||||
{ "gcc_camss_ope_ahb_clk", &gcc.mux, 0x150 },
|
||||
{ "gcc_camss_ope_clk", &gcc.mux, 0x14e },
|
||||
{ "gcc_camss_rt_axi_clk", &gcc.mux, 0x15a },
|
||||
{ "gcc_camss_tfe_0_clk", &gcc.mux, 0x139 },
|
||||
{ "gcc_camss_tfe_0_cphy_rx_clk", &gcc.mux, 0x13d },
|
||||
{ "gcc_camss_tfe_0_csid_clk", &gcc.mux, 0x144 },
|
||||
{ "gcc_camss_tfe_1_clk", &gcc.mux, 0x13a },
|
||||
{ "gcc_camss_tfe_1_cphy_rx_clk", &gcc.mux, 0x13e },
|
||||
{ "gcc_camss_tfe_1_csid_clk", &gcc.mux, 0x146 },
|
||||
{ "gcc_camss_tfe_2_clk", &gcc.mux, 0x13b },
|
||||
{ "gcc_camss_tfe_2_cphy_rx_clk", &gcc.mux, 0x13f },
|
||||
{ "gcc_camss_tfe_2_csid_clk", &gcc.mux, 0x148 },
|
||||
{ "gcc_camss_top_ahb_clk", &gcc.mux, 0x153 },
|
||||
{ "gcc_cfg_noc_usb3_prim_axi_clk", &gcc.mux, 0x1f },
|
||||
{ "gcc_disp_gpll0_div_clk_src", &gcc.mux, 0x48 },
|
||||
{ "gcc_disp_hf_axi_clk", &gcc.mux, 0x3e },
|
||||
{ "gcc_disp_sleep_clk", &gcc.mux, 0x4e },
|
||||
{ "gcc_disp_throttle_core_clk", &gcc.mux, 0x4a },
|
||||
{ "gcc_gp1_clk", &gcc.mux, 0xca },
|
||||
{ "gcc_gp2_clk", &gcc.mux, 0xcb },
|
||||
{ "gcc_gp3_clk", &gcc.mux, 0xcc },
|
||||
{ "gcc_gpu_gpll0_clk_src", &gcc.mux, 0xff },
|
||||
{ "gcc_gpu_gpll0_div_clk_src", &gcc.mux, 0x100 },
|
||||
{ "gcc_gpu_memnoc_gfx_clk", &gcc.mux, 0xfc },
|
||||
{ "gcc_gpu_snoc_dvm_gfx_clk", &gcc.mux, 0xfe },
|
||||
{ "gcc_gpu_throttle_core_clk", &gcc.mux, 0x103 },
|
||||
{ "gcc_pdm2_clk", &gcc.mux, 0x81 },
|
||||
{ "gcc_pdm_ahb_clk", &gcc.mux, 0x7f },
|
||||
{ "gcc_pdm_xo4_clk", &gcc.mux, 0x80 },
|
||||
{ "gcc_prng_ahb_clk", &gcc.mux, 0x82 },
|
||||
{ "gcc_qmip_camera_nrt_ahb_clk", &gcc.mux, 0x3b },
|
||||
{ "gcc_qmip_camera_rt_ahb_clk", &gcc.mux, 0x49 },
|
||||
{ "gcc_qmip_disp_ahb_clk", &gcc.mux, 0x3c },
|
||||
{ "gcc_qmip_gpu_cfg_ahb_clk", &gcc.mux, 0x101 },
|
||||
{ "gcc_qmip_video_vcodec_ahb_clk", &gcc.mux, 0x3a },
|
||||
{ "gcc_qupv3_wrap0_core_2x_clk", &gcc.mux, 0x6e },
|
||||
{ "gcc_qupv3_wrap0_core_clk", &gcc.mux, 0x6d },
|
||||
{ "gcc_qupv3_wrap0_s0_clk", &gcc.mux, 0x6f },
|
||||
{ "gcc_qupv3_wrap0_s1_clk", &gcc.mux, 0x70 },
|
||||
{ "gcc_qupv3_wrap0_s2_clk", &gcc.mux, 0x71 },
|
||||
{ "gcc_qupv3_wrap0_s3_clk", &gcc.mux, 0x72 },
|
||||
{ "gcc_qupv3_wrap0_s4_clk", &gcc.mux, 0x73 },
|
||||
{ "gcc_qupv3_wrap0_s5_clk", &gcc.mux, 0x74 },
|
||||
{ "gcc_qupv3_wrap1_core_2x_clk", &gcc.mux, 0x78 },
|
||||
{ "gcc_qupv3_wrap1_core_clk", &gcc.mux, 0x77 },
|
||||
{ "gcc_qupv3_wrap1_s0_clk", &gcc.mux, 0x79 },
|
||||
{ "gcc_qupv3_wrap1_s1_clk", &gcc.mux, 0x7a },
|
||||
{ "gcc_qupv3_wrap1_s2_clk", &gcc.mux, 0x7b },
|
||||
{ "gcc_qupv3_wrap1_s3_clk", &gcc.mux, 0x7c },
|
||||
{ "gcc_qupv3_wrap1_s5_clk", &gcc.mux, 0x7e },
|
||||
{ "gcc_qupv3_wrap_0_m_ahb_clk", &gcc.mux, 0x6b },
|
||||
{ "gcc_qupv3_wrap_0_s_ahb_clk", &gcc.mux, 0x6c },
|
||||
{ "gcc_sdcc1_ahb_clk", &gcc.mux, 0x108 },
|
||||
{ "gcc_sdcc1_apps_clk", &gcc.mux, 0x107 },
|
||||
{ "gcc_sdcc1_ice_core_clk", &gcc.mux, 0x109 },
|
||||
{ "gcc_sdcc2_ahb_clk", &gcc.mux, 0x6a },
|
||||
{ "gcc_sdcc2_apps_clk", &gcc.mux, 0x69 },
|
||||
{ "gcc_sys_noc_cpuss_ahb_clk", &gcc.mux, 0x9 },
|
||||
{ "gcc_sys_noc_ufs_phy_axi_clk", &gcc.mux, 0x1b },
|
||||
{ "gcc_sys_noc_usb3_prim_axi_clk", &gcc.mux, 0x1a },
|
||||
{ "gcc_ufs_phy_ahb_clk", &gcc.mux, 0x127 },
|
||||
{ "gcc_ufs_phy_axi_clk", &gcc.mux, 0x126 },
|
||||
{ "gcc_ufs_phy_ice_core_clk", &gcc.mux, 0x12d },
|
||||
{ "gcc_ufs_phy_phy_aux_clk", &gcc.mux, 0x12e },
|
||||
{ "gcc_ufs_phy_rx_symbol_0_clk", &gcc.mux, 0x129 },
|
||||
{ "gcc_ufs_phy_tx_symbol_0_clk", &gcc.mux, 0x128 },
|
||||
{ "gcc_ufs_phy_unipro_core_clk", &gcc.mux, 0x12c },
|
||||
{ "gcc_usb30_prim_master_clk", &gcc.mux, 0x5e },
|
||||
{ "gcc_usb30_prim_mock_utmi_clk", &gcc.mux, 0x60 },
|
||||
{ "gcc_usb30_prim_sleep_clk", &gcc.mux, 0x5f },
|
||||
{ "gcc_usb3_prim_phy_com_aux_clk", &gcc.mux, 0x61 },
|
||||
{ "gcc_usb3_prim_phy_pipe_clk", &gcc.mux, 0x62 },
|
||||
{ "gcc_vcodec0_axi_clk", &gcc.mux, 0x160 },
|
||||
{ "gcc_venus_ahb_clk", &gcc.mux, 0x161 },
|
||||
{ "gcc_venus_ctl_axi_clk", &gcc.mux, 0x15f },
|
||||
{ "gcc_video_axi0_clk", &gcc.mux, 0x3d },
|
||||
{ "gcc_video_throttle_core_clk", &gcc.mux, 0x4b },
|
||||
{ "gcc_video_vcodec0_sys_clk", &gcc.mux, 0x15d },
|
||||
{ "gcc_video_venus_ctl_clk", &gcc.mux, 0x15b },
|
||||
{ "gcc_video_xo_clk", &gcc.mux, 0x3f },
|
||||
{ "measure_only_cnoc_clk", &gcc.mux, 0x1d },
|
||||
{ "measure_only_gcc_camera_ahb_clk", &gcc.mux, 0x38 },
|
||||
{ "measure_only_gcc_camera_xo_clk", &gcc.mux, 0x40 },
|
||||
{ "measure_only_gcc_cpuss_gnoc_clk", &gcc.mux, 0xba },
|
||||
{ "measure_only_gcc_disp_ahb_clk", &gcc.mux, 0x39 },
|
||||
{ "measure_only_gcc_disp_xo_clk", &gcc.mux, 0x41 },
|
||||
{ "measure_only_gcc_gpu_cfg_ahb_clk", &gcc.mux, 0xf9 },
|
||||
{ "measure_only_gcc_qupv3_wrap1_s4_clk", &gcc.mux, 0x7d },
|
||||
{ "measure_only_gcc_qupv3_wrap_1_m_ahb_clk", &gcc.mux, 0x75 },
|
||||
{ "measure_only_gcc_qupv3_wrap_1_s_ahb_clk", &gcc.mux, 0x76 },
|
||||
{ "measure_only_gcc_video_ahb_clk", &gcc.mux, 0x37 },
|
||||
{ "measure_only_hwkm_ahb_clk", &gcc.mux, 0x166 },
|
||||
{ "measure_only_hwkm_km_core_clk", &gcc.mux, 0x167 },
|
||||
{ "measure_only_ipa_2x_clk", &gcc.mux, 0xd7 },
|
||||
{ "measure_only_pka_ahb_clk", &gcc.mux, 0x162 },
|
||||
{ "measure_only_pka_core_clk", &gcc.mux, 0x163 },
|
||||
{ "measure_only_snoc_clk", &gcc.mux, 0x7 },
|
||||
|
||||
{ "gpu_cc_ahb_clk", &gcc, 0xfb, &gpu_cc, 0x11 },
|
||||
{ "gpu_cc_cx_gfx3d_clk", &gcc, 0xfb, &gpu_cc, 0x1a },
|
||||
{ "gpu_cc_cx_gfx3d_slv_clk", &gcc, 0xfb, &gpu_cc, 0x1b },
|
||||
{ "gpu_cc_cx_gmu_clk", &gcc, 0xfb, &gpu_cc, 0x19 },
|
||||
{ "gpu_cc_cx_snoc_dvm_clk", &gcc, 0xfb, &gpu_cc, 0x16 },
|
||||
{ "gpu_cc_cxo_aon_clk", &gcc, 0xfb, &gpu_cc, 0xb },
|
||||
{ "gpu_cc_cxo_clk", &gcc, 0xfb, &gpu_cc, 0xa },
|
||||
{ "gpu_cc_gx_cxo_clk", &gcc, 0xfb, &gpu_cc, 0xf },
|
||||
{ "gpu_cc_gx_gfx3d_clk", &gcc, 0xfb, &gpu_cc, 0xc },
|
||||
{ "gpu_cc_gx_gmu_clk", &gcc, 0xfb, &gpu_cc, 0x10 },
|
||||
{ "gpu_cc_sleep_clk", &gcc, 0xfb, &gpu_cc, 0x17 },
|
||||
{ "disp_cc_mdss_ahb_clk", &disp_cc, 0x14 },
|
||||
{ "disp_cc_mdss_byte0_clk", &disp_cc, 0xc },
|
||||
{ "disp_cc_mdss_byte0_intf_clk", &disp_cc, 0xd },
|
||||
{ "disp_cc_mdss_esc0_clk", &disp_cc, 0xe },
|
||||
{ "disp_cc_mdss_mdp_clk", &disp_cc, 0x8 },
|
||||
{ "disp_cc_mdss_mdp_lut_clk", &disp_cc, 0xa },
|
||||
{ "disp_cc_mdss_non_gdsc_ahb_clk", &disp_cc, 0x15 },
|
||||
{ "disp_cc_mdss_pclk0_clk", &disp_cc, 0x7 },
|
||||
{ "disp_cc_mdss_rot_clk", &disp_cc, 0x9 },
|
||||
{ "disp_cc_mdss_rscc_ahb_clk", &disp_cc, 0x17 },
|
||||
{ "disp_cc_mdss_rscc_vsync_clk", &disp_cc, 0x16 },
|
||||
{ "disp_cc_mdss_vsync_clk", &disp_cc, 0xb },
|
||||
{ "measure_only_disp_cc_sleep_clk", &disp_cc, 0x1d },
|
||||
{ "measure_only_disp_cc_xo_clk", &disp_cc, 0x1e },
|
||||
|
||||
{ "mccc_clk", &gcc, 0xae, &mc_cc, 0x220 },
|
||||
{ "gpu_cc_ahb_clk", &gpu_cc, 0x11 },
|
||||
{ "gpu_cc_cx_gfx3d_clk", &gpu_cc, 0x1a },
|
||||
{ "gpu_cc_cx_gfx3d_slv_clk", &gpu_cc, 0x1b },
|
||||
{ "gpu_cc_cx_gmu_clk", &gpu_cc, 0x19 },
|
||||
{ "gpu_cc_cx_snoc_dvm_clk", &gpu_cc, 0x16 },
|
||||
{ "gpu_cc_cxo_aon_clk", &gpu_cc, 0xb },
|
||||
{ "gpu_cc_cxo_clk", &gpu_cc, 0xa },
|
||||
{ "gpu_cc_gx_cxo_clk", &gpu_cc, 0xf },
|
||||
{ "gpu_cc_gx_gfx3d_clk", &gpu_cc, 0xc },
|
||||
{ "gpu_cc_gx_gmu_clk", &gpu_cc, 0x10 },
|
||||
{ "gpu_cc_sleep_clk", &gpu_cc, 0x17 },
|
||||
|
||||
{ "mccc_clk", &mc_cc, 0x220 },
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user