clk_get、clk_enable和clk_get_rate函数

1 对应外设时钟的开启

struct clk=clk_get(NULL,"adc");

clk.enable();

之后adc对应的时钟位就能使能。

struct clk *clk_get(struct device *dev, const char *id)
{
    ..........
    list_for_each_entry(p, &clocks, list) {
        if (p->id == idno &&
            strcmp(id, p->name) == 0 &&
            try_module_get(p->owner)) {
            clk = p;
            break;
        }
    }


    .............................................
    return clk;
}

clk_get从一个时钟list链表中以字符id名称来查找一个时钟clk结构体并且返回,最后调用clk.enable(),来时能对应的外设时钟源。

(2)clk_get_rate函数可以从clk_get得到的某设备结构体中获得该设备的时钟频率。

你可能感兴趣的:(clk_get、clk_enable和clk_get_rate函数)