Until now the driver depends on an external DT oscillator definition.
For now we can not see any benefit of setting that in the device tree.
Lots of other Linux kernel drivers hardcode these values. Usually the
name xtal (crystal) is used there. Align that and register a fixed
frequency clock (named xtal_clk) in the driver.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
[move cosmetic changes to separate patches]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
};
static const struct rtcl_clk_info rtcl_clk_info[CLK_COUNT] = {
};
static const struct rtcl_clk_info rtcl_clk_info[CLK_COUNT] = {
- RTCL_CLK_INFO(CLK_CPU, "cpu_clk", "ref_clk", "CPU"),
- RTCL_CLK_INFO(CLK_MEM, "mem_clk", "ref_clk", "MEM"),
- RTCL_CLK_INFO(CLK_LXB, "lxb_clk", "ref_clk", "LXB")
+ RTCL_CLK_INFO(CLK_CPU, "cpu_clk", "xtal_clk", "CPU"),
+ RTCL_CLK_INFO(CLK_MEM, "mem_clk", "xtal_clk", "MEM"),
+ RTCL_CLK_INFO(CLK_LXB, "lxb_clk", "xtal_clk", "LXB")
static int rtcl_ccu_register_clocks(void)
{
static int rtcl_ccu_register_clocks(void)
{
+ clk = clk_register_fixed_rate(NULL, "xtal_clk", NULL, 0, RTCL_XTAL_RATE);
+ clk_register_clkdev(clk, "xtal_clk", NULL);
+
for (clk_idx = 0; clk_idx < CLK_COUNT; clk_idx++) {
ret = rtcl_register_clkhw(clk_idx);
if (ret) {
for (clk_idx = 0; clk_idx < CLK_COUNT; clk_idx++) {
ret = rtcl_register_clkhw(clk_idx);
if (ret) {