Message ID | 20170424185545.26608-1-linus.walleij@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | [1/2] clk: Add bindings for the Gemini Clock Controller | expand |
On Mon, Apr 24, 2017 at 08:55:45PM +0200, Linus Walleij wrote: > This adds device tree bindings and a header for the Gemini SoC > Clock Controller. > > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > --- > .../clock/cortina,gemini-clock-controller.txt | 25 +++++++++++++++++++ > include/dt-bindings/clock/cortina,gemini-clock.h | 29 ++++++++++++++++++++++ > 2 files changed, 54 insertions(+) > create mode 100644 Documentation/devicetree/bindings/clock/cortina,gemini-clock-controller.txt > create mode 100644 include/dt-bindings/clock/cortina,gemini-clock.h > > diff --git a/Documentation/devicetree/bindings/clock/cortina,gemini-clock-controller.txt b/Documentation/devicetree/bindings/clock/cortina,gemini-clock-controller.txt > new file mode 100644 > index 000000000000..7af84acfcbce > --- /dev/null > +++ b/Documentation/devicetree/bindings/clock/cortina,gemini-clock-controller.txt > @@ -0,0 +1,25 @@ > +Clock bindings for the Cortina Systems Gemini SoC Clock Controller > + > +Required properties : > +- compatible : shall contain the following: > + "cortina,gemini-clock-controller" > +- #clock-cells should be <1> > + > +The Gemini clock controller needs to be placed as a subnode of the > +system controller. > + > +All available clocks are defined as preprocessor macros in > +dt-bindings/clock/cortina,gemini-clock.h header and can be used in device > +tree sources. > + > +Example: > + > +syscon: syscon@40000000 { > + compatible = "cortina,gemini-syscon", "syscon", "simple-mfd"; > + reg = <0x40000000 0x1000>; > + > + clock-controller { > + compatible = "cortina,gemini-clock-controller"; > + #clock-cells = <1>; There's not really much reason to have a child node here. The parent can be the clock provider. Rob -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, Apr 28, 2017 at 8:24 PM, Rob Herring <robh@kernel.org> wrote: > On Mon, Apr 24, 2017 at 08:55:45PM +0200, Linus Walleij wrote: >> This adds device tree bindings and a header for the Gemini SoC >> Clock Controller. (...) >> +- compatible : shall contain the following: >> + "cortina,gemini-clock-controller" >> +- #clock-cells should be <1> (...) >> +Example: >> + >> +syscon: syscon@40000000 { >> + compatible = "cortina,gemini-syscon", "syscon", "simple-mfd"; >> + reg = <0x40000000 0x1000>; >> + >> + clock-controller { >> + compatible = "cortina,gemini-clock-controller"; >> + #clock-cells = <1>; > > There's not really much reason to have a child node here. The parent can > be the clock provider. But I should still keep the special clock controller compatible-string? I guess it is also possible to just bind all the drivers to "cortina,gemini-syscon". Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/devicetree/bindings/clock/cortina,gemini-clock-controller.txt b/Documentation/devicetree/bindings/clock/cortina,gemini-clock-controller.txt new file mode 100644 index 000000000000..7af84acfcbce --- /dev/null +++ b/Documentation/devicetree/bindings/clock/cortina,gemini-clock-controller.txt @@ -0,0 +1,25 @@ +Clock bindings for the Cortina Systems Gemini SoC Clock Controller + +Required properties : +- compatible : shall contain the following: + "cortina,gemini-clock-controller" +- #clock-cells should be <1> + +The Gemini clock controller needs to be placed as a subnode of the +system controller. + +All available clocks are defined as preprocessor macros in +dt-bindings/clock/cortina,gemini-clock.h header and can be used in device +tree sources. + +Example: + +syscon: syscon@40000000 { + compatible = "cortina,gemini-syscon", "syscon", "simple-mfd"; + reg = <0x40000000 0x1000>; + + clock-controller { + compatible = "cortina,gemini-clock-controller"; + #clock-cells = <1>; + }; +}; diff --git a/include/dt-bindings/clock/cortina,gemini-clock.h b/include/dt-bindings/clock/cortina,gemini-clock.h new file mode 100644 index 000000000000..acf5cd550b0c --- /dev/null +++ b/include/dt-bindings/clock/cortina,gemini-clock.h @@ -0,0 +1,29 @@ +#ifndef DT_BINDINGS_CORTINA_GEMINI_CLOCK_H +#define DT_BINDINGS_CORTINA_GEMINI_CLOCK_H + +/* RTC, AHB, APB, CPU, PCI, TVC, UART clocks and 13 gates */ +#define GEMINI_NUM_CLKS 20 + +#define GEMINI_CLK_RTC 0 +#define GEMINI_CLK_AHB 1 +#define GEMINI_CLK_APB 2 +#define GEMINI_CLK_CPU 3 +#define GEMINI_CLK_PCI 4 +#define GEMINI_CLK_TVC 5 +#define GEMINI_CLK_UART 6 +#define GEMINI_CLK_GATES 7 +#define GEMINI_CLK_GATE_SECURITY 7 +#define GEMINI_CLK_GATE_GMAC0 8 +#define GEMINI_CLK_GATE_GMAC1 9 +#define GEMINI_CLK_GATE_SATA0 10 +#define GEMINI_CLK_GATE_SATA1 11 +#define GEMINI_CLK_GATE_USB0 12 +#define GEMINI_CLK_GATE_USB1 13 +#define GEMINI_CLK_GATE_IDE 14 +#define GEMINI_CLK_GATE_PCI 15 +#define GEMINI_CLK_GATE_DDR 16 +#define GEMINI_CLK_GATE_FLASH 17 +#define GEMINI_CLK_GATE_TVC 18 +#define GEMINI_CLK_GATE_BOOT 19 + +#endif /* DT_BINDINGS_CORTINA_GEMINI_CLOCK_H */
This adds device tree bindings and a header for the Gemini SoC Clock Controller. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- .../clock/cortina,gemini-clock-controller.txt | 25 +++++++++++++++++++ include/dt-bindings/clock/cortina,gemini-clock.h | 29 ++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/cortina,gemini-clock-controller.txt create mode 100644 include/dt-bindings/clock/cortina,gemini-clock.h -- 2.9.3 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html