diff mbox series

[1/2] clk: Add bindings for the Gemini Clock Controller

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

Commit Message

Linus Walleij April 24, 2017, 6:55 p.m. UTC
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

Comments

Rob Herring (Arm) April 28, 2017, 6:24 p.m. UTC | #1
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
Linus Walleij May 7, 2017, 10:33 a.m. UTC | #2
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 mbox series

Patch

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 */