各位好,
我们自己设计的板子,xdma_event_intr,直接从CPU出来接在TDA19988上,作为HDMI的12MHz时钟,请问应该怎么设置呢?原来clkout2为32.768khz,怎么将它改为12Mhz?
在board-am335xevm.c中
static struct pinmux_config clkout2_pin_mux[] = {
{"xdma_event_intr1.clkout2", OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT},
{NULL, 0},
};
static void clkout2_enable(int evm_id, int profile)
{
struct clk *ck_32;
ck_32 = clk_get(NULL, "clkout2_ck");
if (IS_ERR(ck_32)) {
pr_err("Cannot clk_get ck_32\n");
return;
}
clk_enable(ck_32);
setup_pin_mux(clkout2_pin_mux);
}
我在clock33xx_data.c中找到
static struct clk clkout2_ck = {
.name = "clkout2_ck",
.parent = &sysclkout_pre_ck,
.ops = &clkops_omap2_dflt,
.clksel = clkout2_div,
.clksel_reg = AM33XX_CM_CLKOUT_CTRL,
.clksel_mask = AM33XX_CLKOUT2DIV_MASK,
.enable_reg = AM33XX_CM_CLKOUT_CTRL,
.enable_bit = AM33XX_CLKOUT2EN_SHIFT,
.recalc = &omap2_clksel_recalc,
.round_rate = &omap2_clksel_round_rate,
.set_rate = &omap2_clksel_set_rate,
};
这里的parent, div是什么意思呢,应该怎么选取才能设置成12MHz?CM_CLKOUT_CTRL这个寄存器的值应该怎么确定?






