Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1266952

How to implement common clk in multi function controller?

From Masahiro Yamada <yamada.masahiro@socionext.com>
Newsgroups linux.kernel
Subject How to implement common clk in multi function controller?
Date 2015-11-11 04:20 +0100
Message-ID <qtu6Z-5GD-1@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


Hi.

I am implementing clk and reset drivers for my SoCs.
(drivers/clk/uniphier/* and drivers/reset/uniphier/*)


In my SoCs, one hardware block contains various
registers for both clock and reset controlling.
(so, it is like a MFD system controller device).
I think it is a common case.


I am guessing my device tree would be like follows:
(one syscon device contains clk and rst devices under it)

syscon {
     compatible = "socionext,uniphier-syscon",
                 "syscon", "simple-mfd";
     reg = <...   ...>;

     clk_ctrl {
            .compatible = "socionext,uniphier-clkctrl";
            #clock-cells = <1>;
     };

     rst_ctrl {
             .compatible = "socionext,uniphier-rstctrl";
             #reset-cells = <1>;
     };
};



One problem I noticed was,
we are supposed to use regmap for register access
if we use syscon.

OTOH, common clk APIs such as clk-gate, clk-divider
expect simple register access via writel()/readl().

Is it a good idea to expand such APIs to regmap?


Of course, I could my own uniphier/clk-gate.c
to use regmap as other SoCs do.

But, I think regmap is general demand, so
I am wondering if it could be supported in common parts.

Or, any other good solution exists?



-- 
Best Regards
Masahiro Yamada
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

How to implement common clk in multi function controller? Masahiro Yamada <yamada.masahiro@socionext.com> - 2015-11-11 04:20 +0100
  Re: How to implement common clk in multi function controller? Vladimir Zapolskiy <vz@mleia.com> - 2015-11-11 10:40 +0100
  Re: How to implement common clk in multi function controller? Chen-Yu Tsai <wens@csie.org> - 2015-11-11 10:50 +0100

csiph-web