Linux Common Clock Framework-防止时钟被禁用

时间:2019-02-25 16:52:31

标签: clock device-tree

我想输出一个600kHz的时钟,用于将开关稳压器与NXP的i.MX6UL同步。我在设备树中指定了一个时钟:

sync0: sync0 {
    #clock-cells = <0>;
    compatible = "pwm-clock";
    clock-output-names = "pwm_sync";
    pwms = <&pwm3 0 1667>;
    status = "okay";
};

在我的设备树中没有定义任何使用者,因为它与软件无关,因此通用时钟框架每次都会关闭我的时钟。我可以使用clk_ignore_unused否决该规则,但这可以防止禁用所有时钟。有办法强制只启用一个时钟吗?

1 个答案:

答案 0 :(得分:0)

您将必须使用以下CLK_IGNORE_UNUSED标志将此clk分别注册到linux内核框架:

struct clk_init_data {
    const char      *name;
    const struct clk_ops    *ops;
    const char      * const *parent_names;
    u8          num_parents;
    unsigned long       flags;   // Here you have to pass CLK_IGNORE_UNUSED flag.
};