This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335X: How to set the clkout2

Hi all,

    Here we have a custom board based on am335x sk and now we need to set the clkout2 to be 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,
};

Below is all I can find about the clkout2 in the SDK. What should I do then I can get the 12MHz clock? I hope anyone here can help me about this.

Thanks in advanced!