debugcc: support setting xo_div4 custom value

Some xo require special value to set it to /4 divisor. Introduce
xo_div4_val to handle this special implementation.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This commit is contained in:
Christian Marangi
2023-06-13 17:00:41 +02:00
parent 5dd120810b
commit bde23d9858
2 changed files with 6 additions and 1 deletions

View File

@@ -122,7 +122,10 @@ unsigned long measure_gcc(const struct measure_clk *clk,
unsigned long xo_div4;
xo_div4 = readl(mux->base + gcc->xo_div4_reg);
writel(xo_div4 | 1, mux->base + gcc->xo_div4_reg);
if (gcc->xo_div4_val)
writel(xo_div4 | gcc->xo_div4_val, mux->base + gcc->xo_div4_reg);
else
writel(xo_div4 | 1, mux->base + gcc->xo_div4_reg);
raw_count_short = measure_ticks(gcc, 0x1000);
raw_count_full = measure_ticks(gcc, 0x10000);

View File

@@ -66,6 +66,8 @@ struct gcc_mux {
struct debug_mux mux;
unsigned int xo_div4_reg;
unsigned int xo_div4_val;
unsigned int debug_ctl_reg;
unsigned int debug_status_reg;
};