aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/mfd
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2018-01-04 23:30:28 -0800
committerOlof Johansson <olof@lixom.net>2018-01-04 23:30:28 -0800
commit8ef9aea80db6589f1ad9c6d985551091b0efa696 (patch)
tree80221624246a18c488694c38a3bd8fdae586e7bf /Documentation/devicetree/bindings/mfd
parentMerge tag 'uniphier-dt64-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into next/dt (diff)
parentARM: dts: at91: sama5d2_ptc_ek: use TCB0 as timers (diff)
downloadlinux-dev-8ef9aea80db6589f1ad9c6d985551091b0efa696.tar.xz
linux-dev-8ef9aea80db6589f1ad9c6d985551091b0efa696.zip
Merge tag 'at91-ab-4.16-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/dt
DT for 4.16 - New boards: - Axentia Nattis with Natte power - sama5d2 PTC ek - Document and use extended TCB bindings * tag 'at91-ab-4.16-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (50 commits) ARM: dts: at91: sama5d2_ptc_ek: use TCB0 as timers ARM: dts: at91: sama5d27_som1_ek: use TCB0 as timers ARM: dts: at91: sama5d2 Xplained: use TCB0 as timers ARM: dts: at91: sama5d2: TC blocks are also simple-mfd and syscon devices ARM: dts: at91: vinco: use TCB2 as timers ARM: dts: at91: ma5d4: use TCB2 as timers ARM: dts: at91: sama5d4 Xplained: use TCB2 as timers ARM: dts: at91: sama5d4ek: use TCB2 as timers ARM: dts: at91: sama5d4: Add TCB2 ARM: dts: at91: sama5d4: TC blocks are also simple-mfd and syscon devices ARM: dts: at91: linea/tse850-3: use TCB0 as timers ARM: dts: at91: sama5d3xek_cmp: use TCB0 as timers ARM: dts: at91: kizbox2: use TCB0 as timers ARM: dts: at91: sama5d3 Xplained: use TCB0 as timers ARM: dts: at91: sama5d3xek: use TCB0 as timers ARM: dts: at91: sama5d3: TC blocks are also simple-mfd and syscon devices ARM: dts: at91: kizboxmini: use TCB0 as timers ARM: dts: at91: cosino: use TCB0 as timers ARM: dts: at91: acme/g25: use TCB0 as timers ARM: dts: at91: at91sam9x5cm: use TCB0 as timers ... Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'Documentation/devicetree/bindings/mfd')
-rw-r--r--Documentation/devicetree/bindings/mfd/atmel-tcb.txt56
1 files changed, 56 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/mfd/atmel-tcb.txt b/Documentation/devicetree/bindings/mfd/atmel-tcb.txt
new file mode 100644
index 000000000000..c4a83e364cb6
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/atmel-tcb.txt
@@ -0,0 +1,56 @@
+* Device tree bindings for Atmel Timer Counter Blocks
+- compatible: Should be "atmel,<chip>-tcb", "simple-mfd", "syscon".
+ <chip> can be "at91rm9200" or "at91sam9x5"
+- reg: Should contain registers location and length
+- #address-cells: has to be 1
+- #size-cells: has to be 0
+- interrupts: Should contain all interrupts for the TC block
+ Note that you can specify several interrupt cells if the TC
+ block has one interrupt per channel.
+- clock-names: tuple listing input clock names.
+ Required elements: "t0_clk", "slow_clk"
+ Optional elements: "t1_clk", "t2_clk"
+- clocks: phandles to input clocks.
+
+The TCB can expose multiple subdevices:
+ * a timer
+ - compatible: Should be "atmel,tcb-timer"
+ - reg: Should contain the TCB channels to be used. If the
+ counter width is 16 bits (at91rm9200-tcb), two consecutive
+ channels are needed. Else, only one channel will be used.
+
+Examples:
+
+One interrupt per TC block:
+ tcb0: timer@fff7c000 {
+ compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0xfff7c000 0x100>;
+ interrupts = <18 4>;
+ clocks = <&tcb0_clk>, <&clk32k>;
+ clock-names = "t0_clk", "slow_clk";
+
+ timer@0 {
+ compatible = "atmel,tcb-timer";
+ reg = <0>, <1>;
+ };
+
+ timer@2 {
+ compatible = "atmel,tcb-timer";
+ reg = <2>;
+ };
+ };
+
+One interrupt per TC channel in a TC block:
+ tcb1: timer@fffdc000 {
+ compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0xfffdc000 0x100>;
+ interrupts = <26 4>, <27 4>, <28 4>;
+ clocks = <&tcb1_clk>, <&clk32k>;
+ clock-names = "t0_clk", "slow_clk";
+ };
+
+