From: Purna Chandra Mandal <purna.man...@microchip.com>

Document the devicetree bindings for the clock driver found on Microchip
PIC32 class devices.

Signed-off-by: Purna Chandra Mandal <purna.man...@microchip.com>
Signed-off-by: Joshua Henderson <joshua.hender...@microchip.com>
Cc: Ralf Baechle <r...@linux-mips.org>
Cc: Michael Turquette <mturque...@baylibre.com>
Cc: Stephen Boyd <sb...@codeaurora.org>
Acked-by: Rob Herring <r...@kernel.org>
Acked-by: Michael Turquette <mturque...@baylibre.com>
---
Note: Please pull this complete series through the MIPS tree.

Changes since v8: None
Changes since v7: None
Changes since v6:
        - Update Microchip PIC32 clock binding document based on review
        - Add header defining clocks
Changes since v5: None
Changes since v4: None
Changes since v3: None
Changes since v2:
        - Force lowercase in PIC32 clock binding documentation
Changes since v1: None
---
 .../devicetree/bindings/clock/microchip,pic32.txt  |   39 ++++++++++++++++++
 include/dt-bindings/clock/microchip,pic32-clock.h  |   42 ++++++++++++++++++++
 2 files changed, 81 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/clock/microchip,pic32.txt
 create mode 100644 include/dt-bindings/clock/microchip,pic32-clock.h

diff --git a/Documentation/devicetree/bindings/clock/microchip,pic32.txt 
b/Documentation/devicetree/bindings/clock/microchip,pic32.txt
new file mode 100644
index 0000000..5352718
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/microchip,pic32.txt
@@ -0,0 +1,39 @@
+Microchip PIC32 Clock Controller Binding
+----------------------------------------
+Microchip clock controller is consists of few oscillators, PLL, multiplexer
+and few divider modules.
+
+This binding uses common clock bindings.
+[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
+
+Required properties:
+- compatible: shall be "microchip,pic32mzda-clk".
+- reg: shall contain base address and length of clock registers.
+- #clock-cells: shall be 1.
+
+Optional properties:
+- microchip,pic32mzda-sosc: shall be added only if platform has
+  secondary oscillator connected.
+
+Example:
+       rootclk: clock-controller@1f801200 {
+               compatible = "microchip,pic32mzda-clk";
+               reg = <0x1f801200 0x200>;
+               #clock-cells = <1>;
+               /* optional */
+               microchip,pic32mzda-sosc;
+       };
+
+
+The clock consumer shall specify the desired clock-output of the clock
+controller (as defined in [2]) by specifying output-id in its "clock"
+phandle cell.
+[2] include/dt-bindings/clock/microchip,pic32-clock.h
+
+For example for UART2:
+uart2: serial@2 {
+       compatible = "microchip,pic32mzda-uart";
+        reg = <>;
+       interrupts = <>;
+       clocks = <&rootclk PB2CLK>;
+};
diff --git a/include/dt-bindings/clock/microchip,pic32-clock.h 
b/include/dt-bindings/clock/microchip,pic32-clock.h
new file mode 100644
index 0000000..184647a6
--- /dev/null
+++ b/include/dt-bindings/clock/microchip,pic32-clock.h
@@ -0,0 +1,42 @@
+/*
+ * Purna Chandra Mandal,<purna.man...@microchip.com>
+ * Copyright (C) 2015 Microchip Technology Inc.  All rights reserved.
+ *
+ * This program is free software; you can distribute it and/or modify it
+ * under the terms of the GNU General Public License (Version 2) as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * for more details.
+ */
+
+#ifndef _DT_BINDINGS_CLK_MICROCHIP_PIC32_H_
+#define _DT_BINDINGS_CLK_MICROCHIP_PIC32_H_
+
+/* clock output indices */
+#define POSCCLK                0
+#define FRCCLK         1
+#define BFRCCLK                2
+#define LPRCCLK                3
+#define SOSCCLK                4
+#define FRCDIVCLK      5
+#define PLLCLK         6
+#define SCLK           7
+#define PB1CLK         8
+#define PB2CLK         9
+#define PB3CLK         10
+#define PB4CLK         11
+#define PB5CLK         12
+#define PB6CLK         13
+#define PB7CLK         14
+#define REF1CLK                15
+#define REF2CLK                16
+#define REF3CLK                17
+#define REF4CLK                18
+#define REF5CLK                19
+#define UPLLCLK                20
+#define MAXCLKS                21
+
+#endif /* _DT_BINDINGS_CLK_MICROCHIP_PIC32_H_ */
-- 
1.7.9.5

Reply via email to