aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2018-01-05 02:30:28 -0500
committerOlof Johansson <olof@lixom.net>2018-01-05 02:30:28 -0500
commit8ef9aea80db6589f1ad9c6d985551091b0efa696 (patch)
tree80221624246a18c488694c38a3bd8fdae586e7bf
parentb357e88414249ce23bce492563e3a45a40a8f637 (diff)
parent34a7fc3147bcc14127d941f228ce3b1737e66381 (diff)
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>
-rw-r--r--Documentation/devicetree/bindings/arm/atmel-at91.txt32
-rw-r--r--Documentation/devicetree/bindings/arm/axentia.txt9
-rw-r--r--Documentation/devicetree/bindings/mfd/atmel-tcb.txt56
-rw-r--r--MAINTAINERS2
-rw-r--r--arch/arm/boot/dts/Makefile2
-rw-r--r--arch/arm/boot/dts/animeo_ip.dts12
-rw-r--r--arch/arm/boot/dts/at91-ariag25.dts12
-rw-r--r--arch/arm/boot/dts/at91-ariettag25.dts12
-rw-r--r--arch/arm/boot/dts/at91-cosino.dtsi12
-rw-r--r--arch/arm/boot/dts/at91-foxg20.dts12
-rw-r--r--arch/arm/boot/dts/at91-kizbox.dts12
-rw-r--r--arch/arm/boot/dts/at91-kizbox2.dts12
-rw-r--r--arch/arm/boot/dts/at91-kizboxmini.dts12
-rw-r--r--arch/arm/boot/dts/at91-linea.dtsi12
-rw-r--r--arch/arm/boot/dts/at91-natte.dtsi244
-rw-r--r--arch/arm/boot/dts/at91-nattis-2-natte-2.dts258
-rw-r--r--arch/arm/boot/dts/at91-qil_a9260.dts12
-rw-r--r--arch/arm/boot/dts/at91-sam9_l9260.dts12
-rw-r--r--arch/arm/boot/dts/at91-sama5d27_som1_ek.dts12
-rw-r--r--arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts413
-rw-r--r--arch/arm/boot/dts/at91-sama5d2_xplained.dts12
-rw-r--r--arch/arm/boot/dts/at91-sama5d3_xplained.dts12
-rw-r--r--arch/arm/boot/dts/at91-sama5d4_ma5d4.dtsi12
-rw-r--r--arch/arm/boot/dts/at91-sama5d4_xplained.dts12
-rw-r--r--arch/arm/boot/dts/at91-sama5d4ek.dts12
-rw-r--r--arch/arm/boot/dts/at91-vinco.dts12
-rw-r--r--arch/arm/boot/dts/at91rm9200.dtsi8
-rw-r--r--arch/arm/boot/dts/at91rm9200ek.dts12
-rw-r--r--arch/arm/boot/dts/at91sam9260.dtsi8
-rw-r--r--arch/arm/boot/dts/at91sam9260ek.dts12
-rw-r--r--arch/arm/boot/dts/at91sam9261.dtsi6
-rw-r--r--arch/arm/boot/dts/at91sam9261ek.dts22
-rw-r--r--arch/arm/boot/dts/at91sam9263.dtsi6
-rw-r--r--arch/arm/boot/dts/at91sam9263ek.dts14
-rw-r--r--arch/arm/boot/dts/at91sam9g20ek_common.dtsi12
-rw-r--r--arch/arm/boot/dts/at91sam9g25ek.dts2
-rw-r--r--arch/arm/boot/dts/at91sam9g45.dtsi10
-rw-r--r--arch/arm/boot/dts/at91sam9m10g45ek.dts14
-rw-r--r--arch/arm/boot/dts/at91sam9n12.dtsi8
-rw-r--r--arch/arm/boot/dts/at91sam9n12ek.dts12
-rw-r--r--arch/arm/boot/dts/at91sam9rl.dtsi4
-rw-r--r--arch/arm/boot/dts/at91sam9rlek.dts12
-rw-r--r--arch/arm/boot/dts/at91sam9x5.dtsi8
-rw-r--r--arch/arm/boot/dts/at91sam9x5cm.dtsi12
-rw-r--r--arch/arm/boot/dts/ethernut5.dts12
-rw-r--r--arch/arm/boot/dts/ge863-pro3.dtsi12
-rw-r--r--arch/arm/boot/dts/mpa1600.dts12
-rw-r--r--arch/arm/boot/dts/pm9g45.dts12
-rw-r--r--arch/arm/boot/dts/sama5d2.dtsi10
-rw-r--r--arch/arm/boot/dts/sama5d3.dtsi4
-rw-r--r--arch/arm/boot/dts/sama5d3_tcb1.dtsi4
-rw-r--r--arch/arm/boot/dts/sama5d3xcm.dtsi12
-rw-r--r--arch/arm/boot/dts/sama5d3xcm_cmp.dtsi12
-rw-r--r--arch/arm/boot/dts/sama5d3xmb.dtsi2
-rw-r--r--arch/arm/boot/dts/sama5d3xmb_cmp.dtsi2
-rw-r--r--arch/arm/boot/dts/sama5d4.dtsi18
-rw-r--r--arch/arm/boot/dts/tny_a9260_common.dtsi12
-rw-r--r--arch/arm/boot/dts/tny_a9263.dts12
-rw-r--r--arch/arm/boot/dts/usb_a9260_common.dtsi12
-rw-r--r--arch/arm/boot/dts/usb_a9263.dts12
60 files changed, 1514 insertions, 60 deletions
diff --git a/Documentation/devicetree/bindings/arm/atmel-at91.txt b/Documentation/devicetree/bindings/arm/atmel-at91.txt
index 91cb8e4f2a4f..31220b54d85d 100644
--- a/Documentation/devicetree/bindings/arm/atmel-at91.txt
+++ b/Documentation/devicetree/bindings/arm/atmel-at91.txt
@@ -90,38 +90,6 @@ System Timer (ST) required properties:
90Its subnodes can be: 90Its subnodes can be:
91- watchdog: compatible should be "atmel,at91rm9200-wdt" 91- watchdog: compatible should be "atmel,at91rm9200-wdt"
92 92
93TC/TCLIB Timer required properties:
94- compatible: Should be "atmel,<chip>-tcb".
95 <chip> can be "at91rm9200" or "at91sam9x5"
96- reg: Should contain registers location and length
97- interrupts: Should contain all interrupts for the TC block
98 Note that you can specify several interrupt cells if the TC
99 block has one interrupt per channel.
100- clock-names: tuple listing input clock names.
101 Required elements: "t0_clk", "slow_clk"
102 Optional elements: "t1_clk", "t2_clk"
103- clocks: phandles to input clocks.
104
105Examples:
106
107One interrupt per TC block:
108 tcb0: timer@fff7c000 {
109 compatible = "atmel,at91rm9200-tcb";
110 reg = <0xfff7c000 0x100>;
111 interrupts = <18 4>;
112 clocks = <&tcb0_clk>;
113 clock-names = "t0_clk";
114 };
115
116One interrupt per TC channel in a TC block:
117 tcb1: timer@fffdc000 {
118 compatible = "atmel,at91rm9200-tcb";
119 reg = <0xfffdc000 0x100>;
120 interrupts = <26 4 27 4 28 4>;
121 clocks = <&tcb1_clk>;
122 clock-names = "t0_clk";
123 };
124
125RSTC Reset Controller required properties: 93RSTC Reset Controller required properties:
126- compatible: Should be "atmel,<chip>-rstc". 94- compatible: Should be "atmel,<chip>-rstc".
127 <chip> can be "at91sam9260" or "at91sam9g45" or "sama5d3" 95 <chip> can be "at91sam9260" or "at91sam9g45" or "sama5d3"
diff --git a/Documentation/devicetree/bindings/arm/axentia.txt b/Documentation/devicetree/bindings/arm/axentia.txt
index ea3fb96ae465..de58f2463880 100644
--- a/Documentation/devicetree/bindings/arm/axentia.txt
+++ b/Documentation/devicetree/bindings/arm/axentia.txt
@@ -10,6 +10,15 @@ compatible = "axentia,linea",
10and following the rules from atmel-at91.txt for a sama5d31 SoC. 10and following the rules from atmel-at91.txt for a sama5d31 SoC.
11 11
12 12
13Nattis v2 board with Natte v2 power board
14-----------------------------------------
15
16Required root node properties:
17compatible = "axentia,nattis-2", "axentia,natte-2", "axentia,linea",
18 "atmel,sama5d31", "atmel,sama5d3", "atmel,sama5";
19and following the rules from above for the axentia,linea CPU module.
20
21
13TSE-850 v3 board 22TSE-850 v3 board
14---------------- 23----------------
15 24
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 @@
1* Device tree bindings for Atmel Timer Counter Blocks
2- compatible: Should be "atmel,<chip>-tcb", "simple-mfd", "syscon".
3 <chip> can be "at91rm9200" or "at91sam9x5"
4- reg: Should contain registers location and length
5- #address-cells: has to be 1
6- #size-cells: has to be 0
7- interrupts: Should contain all interrupts for the TC block
8 Note that you can specify several interrupt cells if the TC
9 block has one interrupt per channel.
10- clock-names: tuple listing input clock names.
11 Required elements: "t0_clk", "slow_clk"
12 Optional elements: "t1_clk", "t2_clk"
13- clocks: phandles to input clocks.
14
15The TCB can expose multiple subdevices:
16 * a timer
17 - compatible: Should be "atmel,tcb-timer"
18 - reg: Should contain the TCB channels to be used. If the
19 counter width is 16 bits (at91rm9200-tcb), two consecutive
20 channels are needed. Else, only one channel will be used.
21
22Examples:
23
24One interrupt per TC block:
25 tcb0: timer@fff7c000 {
26 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
27 #address-cells = <1>;
28 #size-cells = <0>;
29 reg = <0xfff7c000 0x100>;
30 interrupts = <18 4>;
31 clocks = <&tcb0_clk>, <&clk32k>;
32 clock-names = "t0_clk", "slow_clk";
33
34 timer@0 {
35 compatible = "atmel,tcb-timer";
36 reg = <0>, <1>;
37 };
38
39 timer@2 {
40 compatible = "atmel,tcb-timer";
41 reg = <2>;
42 };
43 };
44
45One interrupt per TC channel in a TC block:
46 tcb1: timer@fffdc000 {
47 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
48 #address-cells = <1>;
49 #size-cells = <0>;
50 reg = <0xfffdc000 0x100>;
51 interrupts = <26 4>, <27 4>, <28 4>;
52 clocks = <&tcb1_clk>, <&clk32k>;
53 clock-names = "t0_clk", "slow_clk";
54 };
55
56
diff --git a/MAINTAINERS b/MAINTAINERS
index a6e86e20761e..a935c9341d70 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2501,6 +2501,8 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
2501S: Maintained 2501S: Maintained
2502F: Documentation/devicetree/bindings/arm/axentia.txt 2502F: Documentation/devicetree/bindings/arm/axentia.txt
2503F: arch/arm/boot/dts/at91-linea.dtsi 2503F: arch/arm/boot/dts/at91-linea.dtsi
2504F: arch/arm/boot/dts/at91-natte.dtsi
2505F: arch/arm/boot/dts/at91-nattis-2-natte-2.dts
2504F: arch/arm/boot/dts/at91-tse850-3.dts 2506F: arch/arm/boot/dts/at91-tse850-3.dts
2505 2507
2506AXENTIA ASOC DRIVERS 2508AXENTIA ASOC DRIVERS
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 5da0108883ab..33c9f3358dff 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -45,7 +45,9 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
45 at91sam9x35ek.dtb 45 at91sam9x35ek.dtb
46dtb-$(CONFIG_SOC_SAM_V7) += \ 46dtb-$(CONFIG_SOC_SAM_V7) += \
47 at91-kizbox2.dtb \ 47 at91-kizbox2.dtb \
48 at91-nattis-2-natte-2.dtb \
48 at91-sama5d27_som1_ek.dtb \ 49 at91-sama5d27_som1_ek.dtb \
50 at91-sama5d2_ptc_ek.dtb \
49 at91-sama5d2_xplained.dtb \ 51 at91-sama5d2_xplained.dtb \
50 at91-sama5d3_xplained.dtb \ 52 at91-sama5d3_xplained.dtb \
51 at91-tse850-3.dtb \ 53 at91-tse850-3.dtb \
diff --git a/arch/arm/boot/dts/animeo_ip.dts b/arch/arm/boot/dts/animeo_ip.dts
index 26ade8c0a960..b67a75179784 100644
--- a/arch/arm/boot/dts/animeo_ip.dts
+++ b/arch/arm/boot/dts/animeo_ip.dts
@@ -43,6 +43,18 @@
43 43
44 ahb { 44 ahb {
45 apb { 45 apb {
46 tcb0: timer@fffa0000 {
47 timer@0 {
48 compatible = "atmel,tcb-timer";
49 reg = <0>, <1>;
50 };
51
52 timer@2 {
53 compatible = "atmel,tcb-timer";
54 reg = <2>;
55 };
56 };
57
46 usart0: serial@fffb0000 { 58 usart0: serial@fffb0000 {
47 pinctrl-0 = <&pinctrl_usart0 &pinctrl_usart0_rts>; 59 pinctrl-0 = <&pinctrl_usart0 &pinctrl_usart0_rts>;
48 linux,rs485-enabled-at-boot-time; 60 linux,rs485-enabled-at-boot-time;
diff --git a/arch/arm/boot/dts/at91-ariag25.dts b/arch/arm/boot/dts/at91-ariag25.dts
index 1c86537a42a0..e3e14b7e25aa 100644
--- a/arch/arm/boot/dts/at91-ariag25.dts
+++ b/arch/arm/boot/dts/at91-ariag25.dts
@@ -58,6 +58,18 @@
58 }; 58 };
59 }; 59 };
60 60
61 tcb0: timer@f8008000 {
62 timer@0 {
63 compatible = "atmel,tcb-timer";
64 reg = <0>;
65 };
66
67 timer@1 {
68 compatible = "atmel,tcb-timer";
69 reg = <1>;
70 };
71 };
72
61 i2c0: i2c@f8010000 { 73 i2c0: i2c@f8010000 {
62 status = "okay"; 74 status = "okay";
63 }; 75 };
diff --git a/arch/arm/boot/dts/at91-ariettag25.dts b/arch/arm/boot/dts/at91-ariettag25.dts
index f877f3430bcc..7a34c4dc05d2 100644
--- a/arch/arm/boot/dts/at91-ariettag25.dts
+++ b/arch/arm/boot/dts/at91-ariettag25.dts
@@ -46,6 +46,18 @@
46 }; 46 };
47 }; 47 };
48 48
49 tcb0: timer@f8008000 {
50 timer@0 {
51 compatible = "atmel,tcb-timer";
52 reg = <0>;
53 };
54
55 timer@1 {
56 compatible = "atmel,tcb-timer";
57 reg = <1>;
58 };
59 };
60
49 usb2: gadget@f803c000 { 61 usb2: gadget@f803c000 {
50 status = "okay"; 62 status = "okay";
51 }; 63 };
diff --git a/arch/arm/boot/dts/at91-cosino.dtsi b/arch/arm/boot/dts/at91-cosino.dtsi
index 89cde175154e..295a5a43fe01 100644
--- a/arch/arm/boot/dts/at91-cosino.dtsi
+++ b/arch/arm/boot/dts/at91-cosino.dtsi
@@ -37,6 +37,18 @@
37 37
38 ahb { 38 ahb {
39 apb { 39 apb {
40 tcb0: timer@f8008000 {
41 timer@0 {
42 compatible = "atmel,tcb-timer";
43 reg = <0>;
44 };
45
46 timer@1 {
47 compatible = "atmel,tcb-timer";
48 reg = <1>;
49 };
50 };
51
40 mmc0: mmc@f0008000 { 52 mmc0: mmc@f0008000 {
41 pinctrl-0 = < 53 pinctrl-0 = <
42 &pinctrl_board_mmc0 54 &pinctrl_board_mmc0
diff --git a/arch/arm/boot/dts/at91-foxg20.dts b/arch/arm/boot/dts/at91-foxg20.dts
index 50d5e719b451..d413e2d9abdf 100644
--- a/arch/arm/boot/dts/at91-foxg20.dts
+++ b/arch/arm/boot/dts/at91-foxg20.dts
@@ -34,6 +34,18 @@
34 34
35 ahb { 35 ahb {
36 apb { 36 apb {
37 tcb0: timer@fffa0000 {
38 timer@0 {
39 compatible = "atmel,tcb-timer";
40 reg = <0>, <1>;
41 };
42
43 timer@2 {
44 compatible = "atmel,tcb-timer";
45 reg = <2>;
46 };
47 };
48
37 usb1: gadget@fffa4000 { 49 usb1: gadget@fffa4000 {
38 atmel,vbus-gpio = <&pioC 6 GPIO_ACTIVE_HIGH>; 50 atmel,vbus-gpio = <&pioC 6 GPIO_ACTIVE_HIGH>;
39 status = "okay"; 51 status = "okay";
diff --git a/arch/arm/boot/dts/at91-kizbox.dts b/arch/arm/boot/dts/at91-kizbox.dts
index 1f31df846d61..1003846679c1 100644
--- a/arch/arm/boot/dts/at91-kizbox.dts
+++ b/arch/arm/boot/dts/at91-kizbox.dts
@@ -31,6 +31,18 @@
31 31
32 ahb { 32 ahb {
33 apb { 33 apb {
34 tcb0: timer@fffa0000 {
35 timer@0 {
36 compatible = "atmel,tcb-timer";
37 reg = <0>, <1>;
38 };
39
40 timer@2 {
41 compatible = "atmel,tcb-timer";
42 reg = <2>;
43 };
44 };
45
34 macb0: ethernet@fffc4000 { 46 macb0: ethernet@fffc4000 {
35 phy-mode = "mii"; 47 phy-mode = "mii";
36 pinctrl-0 = <&pinctrl_macb_rmii 48 pinctrl-0 = <&pinctrl_macb_rmii
diff --git a/arch/arm/boot/dts/at91-kizbox2.dts b/arch/arm/boot/dts/at91-kizbox2.dts
index ec6c28c521a5..30041e8f12d5 100644
--- a/arch/arm/boot/dts/at91-kizbox2.dts
+++ b/arch/arm/boot/dts/at91-kizbox2.dts
@@ -94,6 +94,18 @@
94 }; 94 };
95 }; 95 };
96 96
97 tcb0: timer@f0010000 {
98 timer@0 {
99 compatible = "atmel,tcb-timer";
100 reg = <0>;
101 };
102
103 timer@1 {
104 compatible = "atmel,tcb-timer";
105 reg = <1>;
106 };
107 };
108
97 usart0: serial@f001c000 { 109 usart0: serial@f001c000 {
98 status = "okay"; 110 status = "okay";
99 }; 111 };
diff --git a/arch/arm/boot/dts/at91-kizboxmini.dts b/arch/arm/boot/dts/at91-kizboxmini.dts
index fe1bc0a59a98..15b0746e44e2 100644
--- a/arch/arm/boot/dts/at91-kizboxmini.dts
+++ b/arch/arm/boot/dts/at91-kizboxmini.dts
@@ -34,6 +34,18 @@
34 34
35 ahb { 35 ahb {
36 apb { 36 apb {
37 tcb0: timer@f8008000 {
38 timer@0 {
39 compatible = "atmel,tcb-timer";
40 reg = <0>;
41 };
42
43 timer@1 {
44 compatible = "atmel,tcb-timer";
45 reg = <1>;
46 };
47 };
48
37 usart0: serial@f801c000 { 49 usart0: serial@f801c000 {
38 status = "okay"; 50 status = "okay";
39 }; 51 };
diff --git a/arch/arm/boot/dts/at91-linea.dtsi b/arch/arm/boot/dts/at91-linea.dtsi
index 87e5090fb4c4..c7b964e25321 100644
--- a/arch/arm/boot/dts/at91-linea.dtsi
+++ b/arch/arm/boot/dts/at91-linea.dtsi
@@ -27,6 +27,18 @@
27 clock-frequency = <12000000>; 27 clock-frequency = <12000000>;
28}; 28};
29 29
30&tcb0 {
31 timer@0 {
32 compatible = "atmel,tcb-timer";
33 reg = <0>;
34 };
35
36 timer@1 {
37 compatible = "atmel,tcb-timer";
38 reg = <1>;
39 };
40};
41
30&i2c0 { 42&i2c0 {
31 status = "okay"; 43 status = "okay";
32 44
diff --git a/arch/arm/boot/dts/at91-natte.dtsi b/arch/arm/boot/dts/at91-natte.dtsi
new file mode 100644
index 000000000000..49f0a0c46cde
--- /dev/null
+++ b/arch/arm/boot/dts/at91-natte.dtsi
@@ -0,0 +1,244 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * at91-natte.dts - Device Tree include file for the Natte board
4 *
5 * Copyright (C) 2017 Axentia Technologies AB
6 *
7 * Author: Peter Rosin <peda@axentia.se>
8 */
9
10/ {
11 mux: mux-controller {
12 compatible = "gpio-mux";
13 #mux-control-cells = <0>;
14
15 mux-gpios = <&ioexp 0 GPIO_ACTIVE_HIGH>,
16 <&ioexp 1 GPIO_ACTIVE_HIGH>,
17 <&ioexp 2 GPIO_ACTIVE_HIGH>;
18 };
19
20 batntc-mux {
21 compatible = "io-channel-mux";
22 io-channels = <&adc 5>;
23 io-channel-names = "parent";
24 mux-controls = <&mux>;
25
26 channels =
27 "batntc0", "batntc1", "batntc2", "batntc3",
28 "batntc4", "batntc5", "batntc6", "batntc7";
29 };
30
31 batv-mux {
32 compatible = "io-channel-mux";
33 io-channels = <&adc 6>;
34 io-channel-names = "parent";
35 mux-controls = <&mux>;
36
37 channels =
38 "batv0", "batv1", "batv2", "batv3",
39 "batv4", "batv5", "batv6", "batv7";
40 };
41
42 iout-mux {
43 compatible = "io-channel-mux";
44 io-channels = <&adc 7>;
45 io-channel-names = "parent";
46 mux-controls = <&mux>;
47
48 channels =
49 "iout0", "iout1", "iout2", "iout3",
50 "iout4", "iout5", "iout6", "iout7";
51 };
52
53 i2c-mux {
54 compatible = "i2c-mux";
55 mux-locked;
56 i2c-parent = <&i2c0>;
57 mux-controls = <&mux>;
58
59 #address-cells = <1>;
60 #size-cells = <0>;
61
62 i2c@0 {
63 reg = <0>;
64 #address-cells = <1>;
65 #size-cells = <0>;
66
67 charger@9 {
68 compatible = "ti,bq24735";
69 reg = <0x9>;
70
71 ti,charge-current = <2000>;
72 ti,charge-voltage = <16800>;
73
74 poll-interval = <20000>;
75 };
76 };
77
78 i2c@1 {
79 reg = <1>;
80 #address-cells = <1>;
81 #size-cells = <0>;
82
83 charger@9 {
84 compatible = "ti,bq24735";
85 reg = <0x9>;
86
87 ti,charge-current = <2000>;
88 ti,charge-voltage = <16800>;
89
90 poll-interval = <20000>;
91 };
92 };
93
94 i2c@2 {
95 reg = <2>;
96 #address-cells = <1>;
97 #size-cells = <0>;
98
99 charger@9 {
100 compatible = "ti,bq24735";
101 reg = <0x9>;
102
103 ti,charge-current = <2000>;
104 ti,charge-voltage = <16800>;
105
106 poll-interval = <20000>;
107 };
108 };
109
110 i2c@3 {
111 reg = <3>;
112 #address-cells = <1>;
113 #size-cells = <0>;
114
115 charger@9 {
116 compatible = "ti,bq24735";
117 reg = <0x9>;
118
119 ti,charge-current = <2000>;
120 ti,charge-voltage = <16800>;
121
122 poll-interval = <20000>;
123 };
124 };
125
126 i2c@4 {
127 reg = <4>;
128 #address-cells = <1>;
129 #size-cells = <0>;
130
131 charger@9 {
132 compatible = "ti,bq24735";
133 reg = <0x9>;
134
135 ti,charge-current = <2000>;
136 ti,charge-voltage = <16800>;
137
138 poll-interval = <20000>;
139 };
140 };
141
142 i2c@5 {
143 reg = <5>;
144 #address-cells = <1>;
145 #size-cells = <0>;
146
147 charger@9 {
148 compatible = "ti,bq24735";
149 reg = <0x9>;
150
151 ti,charge-current = <2000>;
152 ti,charge-voltage = <16800>;
153
154 poll-interval = <20000>;
155 };
156 };
157
158 i2c@6 {
159 reg = <6>;
160 #address-cells = <1>;
161 #size-cells = <0>;
162
163 charger@9 {
164 compatible = "ti,bq24735";
165 reg = <0x9>;
166
167 ti,charge-current = <2000>;
168 ti,charge-voltage = <16800>;
169
170 poll-interval = <20000>;
171 };
172 };
173
174 i2c@7 {
175 reg = <7>;
176 #address-cells = <1>;
177 #size-cells = <0>;
178
179 charger@9 {
180 compatible = "ti,bq24735";
181 reg = <0x9>;
182
183 ti,charge-current = <2000>;
184 ti,charge-voltage = <16800>;
185
186 poll-interval = <20000>;
187 };
188 };
189 };
190};
191
192&i2c0 {
193 status = "okay";
194
195 ioexp: ioexp@20 {
196 #gpio-cells = <2>;
197 compatible = "semtech,sx1502q";
198 reg = <0x20>;
199
200 gpio-controller;
201 ngpios = <8>;
202
203 pinctrl-names = "default";
204 pinctrl-0 = <&gpio3_cfg_pins>;
205
206 gpio3_cfg_pins: gpio3_cfg {
207 pins = "gpio3";
208 bias-pull-up;
209 };
210 };
211
212 adc: adc@48 {
213 compatible = "ti,ads1015";
214 reg = <0x48>;
215 #io-channel-cells = <1>;
216
217 #address-cells = <1>;
218 #size-cells = <0>;
219
220 channel@4 {
221 reg = <4>;
222 ti,gain = <2>;
223 ti,datarate = <4>;
224 };
225
226 channel@5 {
227 reg = <5>;
228 ti,gain = <2>;
229 ti,datarate = <4>;
230 };
231
232 channel@6 {
233 reg = <6>;
234 ti,gain = <1>;
235 ti,datarate = <4>;
236 };
237
238 channel@7 {
239 reg = <7>;
240 ti,gain = <3>;
241 ti,datarate = <4>;
242 };
243 };
244};
diff --git a/arch/arm/boot/dts/at91-nattis-2-natte-2.dts b/arch/arm/boot/dts/at91-nattis-2-natte-2.dts
new file mode 100644
index 000000000000..3ea1d26e1c68
--- /dev/null
+++ b/arch/arm/boot/dts/at91-nattis-2-natte-2.dts
@@ -0,0 +1,258 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * at91-nattis-2-natte-2.dts - Device Tree file for the Linea/Nattis board
4 *
5 * Copyright (C) 2017 Axentia Technologies AB
6 *
7 * Author: Peter Rosin <peda@axentia.se>
8 */
9/dts-v1/;
10#include "at91-linea.dtsi"
11#include "sama5d3_lcd.dtsi"
12#include "at91-natte.dtsi"
13
14/ {
15 model = "Axentia Linea-Nattis v2 Natte v2";
16 compatible = "axentia,nattis-2", "axentia,natte-2", "axentia,linea",
17 "atmel,sama5d31", "atmel,sama5d3", "atmel,sama5";
18
19 ahb {
20 apb {
21 pinctrl@fffff200 {
22 nattis {
23 pinctrl_usba_vbus: usba_vbus {
24 atmel,pins =
25 <AT91_PIOD 28
26 AT91_PERIPH_GPIO
27 AT91_PINCTRL_DEGLITCH>;
28 };
29
30 pinctrl_mmc0_cd: mmc0_cd {
31 atmel,pins =
32 <AT91_PIOD 5
33 AT91_PERIPH_GPIO
34 AT91_PINCTRL_PULL_UP_DEGLITCH>;
35 };
36
37 pinctrl_lcd_prlud0: lcd_prlud0 {
38 atmel,pins =
39 <AT91_PIOA 21
40 AT91_PERIPH_GPIO
41 AT91_PINCTRL_OUTPUT_VAL(0)>;
42 };
43
44 pinctrl_lcd_hipow0: lcd_hipow0 {
45 atmel,pins =
46 <AT91_PIOA 23
47 AT91_PERIPH_GPIO
48 AT91_PINCTRL_OUTPUT_VAL(0)>;
49 };
50 };
51 };
52
53 watchdog@fffffe40 {
54 status = "okay";
55 };
56 };
57 };
58
59 gpio-keys {
60 compatible = "gpio-keys";
61
62 wakeup {
63 label = "Wakeup";
64 linux,code = <10>;
65 gpio-key,wakeup;
66 gpios = <&pioB 27 GPIO_ACTIVE_LOW>;
67 };
68 };
69
70 panel_reg: panel-regulator {
71 compatible = "regulator-fixed";
72 regulator-name = "panel-VCC";
73 regulator-min-microvolt = <3300000>;
74 regulator-max-microvolt = <3300000>;
75 };
76
77 bl_reg: backlight-regulator {
78 compatible = "regulator-fixed";
79 regulator-name = "panel-VDD";
80 regulator-min-microvolt = <12000000>;
81 regulator-max-microvolt = <12000000>;
82 };
83
84 panel_bl: backlight {
85 compatible = "pwm-backlight";
86 pwms = <&hlcdc_pwm 0 100000 0>;
87
88 brightness-levels = < 0 1 2 3 4 5 6 7 8 9
89 10 11 12 13 14 15 16 17 18 19
90 20 21 22 23 24 25 26 27 28 29
91 30 31 32 33 34 35 36 37 38 39
92 40 41 42 43 44 45 46 47 48 49
93 50 51 52 53 54 55 56 57 58 59
94 60 61 62 63 64 65 66 67 68 69
95 70 71 72 73 74 75 76 77 78 79
96 80 81 82 83 84 85 86 87 88 89
97 90 91 92 93 94 95 96 97 98 99
98 100>;
99 default-brightness-level = <40>;
100
101 power-supply = <&bl_reg>;
102 enable-gpios = <&pioA 20 GPIO_ACTIVE_HIGH>;
103 };
104
105 panel: panel {
106 compatible = "sharp,lq150x1lg11";
107 backlight = <&panel_bl>;
108 power-supply = <&panel_reg>;
109
110 port {
111 panel_input: endpoint {
112 remote-endpoint = <&hlcdc_panel_output>;
113 };
114 };
115 };
116
117 sound {
118 compatible = "simple-audio-card";
119
120 simple-audio-card,name = "nattis-tfa9879";
121 simple-audio-card,format = "i2s";
122 simple-audio-card,bitclock-master = <&cpu_dai>;
123 simple-audio-card,frame-master = <&cpu_dai>;
124 simple-audio-card,widgets = "Line", "Line Out Jack";
125 simple-audio-card,routing = "Line Out Jack", "LINEOUT";
126
127 cpu_dai: simple-audio-card,cpu {
128 sound-dai = <&ssc0>;
129 };
130
131 simple-audio-card,codec {
132 sound-dai = <&amp>;
133 };
134 };
135};
136
137&i2c0 {
138 status = "okay";
139
140 clock-frequency = <100000>;
141
142 temp@18 {
143 compatible = "nxp,se97b", "jedec,jc-42.4-temp";
144 reg = <0x18>;
145 smbus-timeout-disable;
146 };
147
148 eeprom@50 {
149 compatible = "nxp,24c02";
150 reg = <0x50>;
151 pagesize = <16>;
152 };
153
154 amp: amplifier@6c {
155 compatible = "nxp,tfa9879";
156 reg = <0x6c>;
157 #sound-dai-cells = <0>;
158 };
159};
160
161&ssc0 {
162 status = "okay";
163
164 atmel,clk-from-rk-pin;
165 #sound-dai-cells = <0>;
166};
167
168&hlcdc {
169 status = "okay";
170
171 hlcdc-display-controller {
172 pinctrl-names = "default";
173 pinctrl-0 = <&pinctrl_lcd_base
174 &pinctrl_lcd_rgb565
175 &pinctrl_lcd_prlud0
176 &pinctrl_lcd_hipow0>;
177
178 port@0 {
179 hlcdc_panel_output: endpoint {
180 remote-endpoint = <&panel_input>;
181 };
182 };
183 };
184};
185
186&mmc0 {
187 status = "okay";
188
189 pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0
190 &pinctrl_mmc0_dat1_3
191 &pinctrl_mmc0_cd>;
192
193 slot@0 {
194 reg = <0>;
195 bus-width = <4>;
196 cd-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
197 };
198};
199
200&usart0 {
201 status = "okay";
202
203 pinctrl-names = "default";
204 pinctrl-0 = <&pinctrl_usart0>;
205 atmel,use-dma-rx;
206};
207
208&nand {
209 partitions {
210 compatible = "fixed-partitions";
211 #address-cells = <1>;
212 #size-cells = <1>;
213
214 at91bootstrap@0 {
215 label = "at91bootstrap";
216 reg = <0x0 0x40000>;
217 };
218
219 bootloader@40000 {
220 label = "bootloader";
221 reg = <0x40000 0x80000>;
222 };
223
224 bootloaderenv@c0000 {
225 label = "bootloader env";
226 reg = <0xc0000 0xc0000>;
227 };
228
229 dtb@180000 {
230 label = "device tree";
231 reg = <0x180000 0x80000>;
232 };
233
234 kernel@200000 {
235 label = "kernel";
236 reg = <0x200000 0x600000>;
237 };
238
239 rootfs@800000 {
240 label = "rootfs";
241 reg = <0x800000 0x0f800000>;
242 };
243 };
244};
245
246&dbgu {
247 status = "okay";
248
249 atmel,use-dma-rx;
250};
251
252&usb0 {
253 status = "okay";
254
255 atmel,vbus-gpio = <&pioD 28 GPIO_ACTIVE_HIGH>;
256 pinctrl-names = "default";
257 pinctrl-0 = <&pinctrl_usba_vbus>;
258};
diff --git a/arch/arm/boot/dts/at91-qil_a9260.dts b/arch/arm/boot/dts/at91-qil_a9260.dts
index f46352790a41..72e9148ca096 100644
--- a/arch/arm/boot/dts/at91-qil_a9260.dts
+++ b/arch/arm/boot/dts/at91-qil_a9260.dts
@@ -31,6 +31,18 @@
31 31
32 ahb { 32 ahb {
33 apb { 33 apb {
34 tcb0: timer@fffa0000 {
35 timer@0 {
36 compatible = "atmel,tcb-timer";
37 reg = <0>, <1>;
38 };
39
40 timer@2 {
41 compatible = "atmel,tcb-timer";
42 reg = <2>;
43 };
44 };
45
34 usb1: gadget@fffa4000 { 46 usb1: gadget@fffa4000 {
35 atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>; 47 atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
36 status = "okay"; 48 status = "okay";
diff --git a/arch/arm/boot/dts/at91-sam9_l9260.dts b/arch/arm/boot/dts/at91-sam9_l9260.dts
index 171243ca4f2f..70cb36f7a9d7 100644
--- a/arch/arm/boot/dts/at91-sam9_l9260.dts
+++ b/arch/arm/boot/dts/at91-sam9_l9260.dts
@@ -32,6 +32,18 @@
32 32
33 ahb { 33 ahb {
34 apb { 34 apb {
35 tcb0: timer@fffa0000 {
36 timer@0 {
37 compatible = "atmel,tcb-timer";
38 reg = <0>, <1>;
39 };
40
41 timer@2 {
42 compatible = "atmel,tcb-timer";
43 reg = <2>;
44 };
45 };
46
35 mmc0: mmc@fffa8000 { 47 mmc0: mmc@fffa8000 {
36 pinctrl-0 = < 48 pinctrl-0 = <
37 &pinctrl_board_mmc0 49 &pinctrl_board_mmc0
diff --git a/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts b/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts
index 6d87b4eb6c41..e86e0c00eb6b 100644
--- a/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts
+++ b/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts
@@ -119,6 +119,18 @@
119 status = "okay"; 119 status = "okay";
120 }; 120 };
121 121
122 tcb0: timer@f800c000 {
123 timer0: timer@0 {
124 compatible = "atmel,tcb-timer";
125 reg = <0>;
126 };
127
128 timer1: timer@1 {
129 compatible = "atmel,tcb-timer";
130 reg = <1>;
131 };
132 };
133
122 uart1: serial@f8020000 { 134 uart1: serial@f8020000 {
123 pinctrl-names = "default"; 135 pinctrl-names = "default";
124 pinctrl-0 = <&pinctrl_uart1_default>; 136 pinctrl-0 = <&pinctrl_uart1_default>;
diff --git a/arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts b/arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts
new file mode 100644
index 000000000000..e603a267bdf1
--- /dev/null
+++ b/arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts
@@ -0,0 +1,413 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR X11)
2/*
3 * at91-sama5d2_ptc_ek.dts - Device Tree file for SAMA5D2 PTC EK board
4 *
5 * Copyright (C) 2017 Microchip/Atmel,
6 * 2017 Wenyou Yang <wenyou.yang@microchip.com>
7 * 2017 Ludovic Desroches <ludovic.desroches@microchip.com>
8 */
9/dts-v1/;
10#include "sama5d2.dtsi"
11#include "sama5d2-pinfunc.h"
12#include <dt-bindings/mfd/atmel-flexcom.h>
13#include <dt-bindings/gpio/gpio.h>
14
15/ {
16 model = "Atmel SAMA5D2 PTC EK";
17 compatible = "atmel,sama5d2-ptc_ek", "atmel,sama5d2", "atmel,sama5";
18
19 aliases {
20 serial0 = &uart0;
21 i2c0 = &i2c0;
22 i2c1 = &i2c1;
23 i2c2 = &i2c2;
24 };
25
26 chosen {
27 stdout-path = "serial0:115200n8";
28 };
29
30 clocks {
31 slow_xtal {
32 clock-frequency = <32768>;
33 };
34
35 main_xtal {
36 clock-frequency = <24000000>;
37 };
38 };
39
40 ahb {
41 usb0: gadget@300000 {
42 atmel,vbus-gpio = <&pioA PIN_PA27 GPIO_ACTIVE_HIGH>;
43 pinctrl-names = "default";
44 pinctrl-0 = <&pinctrl_usba_vbus>;
45 status = "okay";
46 };
47
48 usb1: ohci@400000 {
49 num-ports = <3>;
50 atmel,vbus-gpio = <0
51 &pioA PIN_PB12 GPIO_ACTIVE_HIGH
52 0
53 >;
54 pinctrl-names = "default";
55 pinctrl-0 = <&pinctrl_usb_default>;
56 status = "okay";
57 };
58
59 usb2: ehci@500000 {
60 status = "okay";
61 };
62
63 ebi: ebi@10000000 {
64 pinctrl-names = "default";
65 pinctrl-0 = <&pinctrl_nand_default>;
66 status = "okay"; /* conflicts with sdmmc1 and qspi0 */
67
68 nand_controller: nand-controller {
69 status = "okay";
70
71 nand@3 {
72 reg = <0x3 0x0 0x2>;
73 atmel,rb = <0>;
74 nand-bus-width = <8>;
75 nand-ecc-mode = "hw";
76 nand-on-flash-bbt;
77 label = "atmel_nand";
78
79 partitions {
80 compatible = "fixed-partitions";
81 #address-cells = <1>;
82 #size-cells = <1>;
83
84 at91bootstrap@0 {
85 label = "bootstrap";
86 reg = <0x0 0x40000>;
87 };
88
89 bootloader@40000 {
90 label = "bootloader";
91 reg = <0x40000 0xc0000>;
92 };
93
94 bootloaderenv@0x100000 {
95 label = "bootloader env";
96 reg = <0x100000 0x40000>;
97 };
98
99 bootloaderenvred@0x140000 {
100 label = "bootloader env redundant";
101 reg = <0x140000 0x40000>;
102 };
103
104 dtb@180000 {
105 label = "device tree";
106 reg = <0x180000 0x80000>;
107 };
108
109 kernel@200000 {
110 label = "kernel";
111 reg = <0x200000 0x600000>;
112 };
113
114 rootfs@800000 {
115 label = "rootfs";
116 reg = <0x800000 0x1f800000>;
117 };
118 };
119 };
120 };
121 };
122
123 sdmmc0: sdio-host@a0000000 {
124 bus-width = <8>;
125 pinctrl-names = "default";
126 pinctrl-0 = <&pinctrl_sdmmc0_default>;
127 non-removable;
128 mmc-ddr-1_8v;
129 status = "okay";
130 };
131
132 apb {
133 spi0: spi@f8000000 {
134 pinctrl-names = "default";
135 pinctrl-0 = <&pinctrl_spi0_default>;
136 status = "okay";
137 };
138
139 macb0: ethernet@f8008000 {
140 pinctrl-names = "default";
141 pinctrl-0 = <&pinctrl_macb0_default &pinctrl_macb0_phy_irq>;
142 phy-mode = "rmii";
143 status = "okay";
144
145 ethernet-phy@1 {
146 reg = <0x1>;
147 interrupt-parent = <&pioA>;
148 interrupts = <56 IRQ_TYPE_LEVEL_LOW>;
149 };
150 };
151
152 tcb0: timer@f800c000 {
153 timer0: timer@0 {
154 compatible = "atmel,tcb-timer";
155 reg = <0>;
156 };
157
158 timer1: timer@1 {
159 compatible = "atmel,tcb-timer";
160 reg = <1>;
161 };
162 };
163
164 uart0: serial@f801c000 {
165 pinctrl-names = "default";
166 pinctrl-0 = <&pinctrl_uart0_default>;
167 atmel,use-dma-rx;
168 atmel,use-dma-tx;
169 status = "okay";
170 };
171
172 uart2: serial@f8024000 {
173 pinctrl-names = "default";
174 pinctrl-0 = <&pinctrl_uart2_default>;
175 atmel,use-dma-rx;
176 atmel,use-dma-tx;
177 status = "okay";
178 };
179
180 i2c0: i2c@f8028000 {
181 dmas = <0>, <0>;
182 pinctrl-names = "default";
183 pinctrl-0 = <&pinctrl_i2c0_default>;
184 status = "okay";
185 };
186
187 flx0: flexcom@f8034000 {
188 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
189 status = "okay";
190
191 i2c2: i2c@600 {
192 compatible = "atmel,sama5d2-i2c";
193 reg = <0x600 0x200>;
194 interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
195 dmas = <0>, <0>;
196 dma-names = "tx", "rx";
197 #address-cells = <1>;
198 #size-cells = <0>;
199 clocks = <&flx0_clk>;
200 pinctrl-names = "default";
201 pinctrl-0 = <&pinctrl_flx0_default>;
202 atmel,fifo-size = <16>;
203 status = "okay";
204 };
205 };
206
207 shdwc@f8048010 {
208 atmel,shdwc-debouncer = <976>;
209
210 input@0 {
211 reg = <0>;
212 atmel,wakeup-type = "low";
213 };
214 };
215
216 watchdog@f8048040 {
217 status = "okay";
218 };
219
220 spi1: spi@fc000000 {
221 pinctrl-names = "default";
222 pinctrl-0 = <&pinctrl_spi1_default>;
223 status = "okay";
224 };
225
226 i2c1: i2c@fc028000 {
227 dmas = <0>, <0>;
228 pinctrl-names = "default";
229 pinctrl-0 = <&pinctrl_i2c1_default>;
230 status = "okay";
231
232 at24@50 {
233 compatible = "24c02";
234 reg = <0x50>;
235 pagesize = <8>;
236 };
237 };
238
239 pinctrl@fc038000 {
240 pinctrl_flx0_default: flx0_default {
241 pinmux = <PIN_PB28__FLEXCOM0_IO0>,
242 <PIN_PB29__FLEXCOM0_IO1>;
243 bias-disable;
244 };
245
246 pinctrl_i2c0_default: i2c0_default {
247 pinmux = <PIN_PD21__TWD0>,
248 <PIN_PD22__TWCK0>;
249 bias-disable;
250 };
251
252 pinctrl_i2c1_default: i2c1_default {
253 pinmux = <PIN_PC6__TWD1>,
254 <PIN_PC7__TWCK1>;
255 bias-disable;
256 };
257
258 pinctrl_key_gpio_default: key_gpio_default {
259 pinmux = <PIN_PA10__GPIO>;
260 bias-pull-up;
261 };
262
263 pinctrl_led_gpio_default: led_gpio_default {
264 pinmux = <PIN_PB6__GPIO>,
265 <PIN_PB8__GPIO>,
266 <PIN_PB10__GPIO>;
267 bias-pull-up;
268 };
269
270 pinctrl_macb0_default: macb0_default {
271 pinmux = <PIN_PB14__GTXCK>,
272 <PIN_PB15__GTXEN>,
273 <PIN_PB16__GRXDV>,
274 <PIN_PB17__GRXER>,
275 <PIN_PB18__GRX0>,
276 <PIN_PB19__GRX1>,
277 <PIN_PB20__GTX0>,
278 <PIN_PB21__GTX1>,
279 <PIN_PB22__GMDC>,
280 <PIN_PB23__GMDIO>;
281 bias-disable;
282 };
283
284 pinctrl_macb0_phy_irq: macb0_phy_irq {
285 pinmux = <PIN_PB24__GPIO>;
286 bias-disable;
287 };
288
289 pinctrl_nand_default: nand_default {
290 re_we_data {
291 pinmux = <PIN_PA22__D0>,
292 <PIN_PA23__D1>,
293 <PIN_PA24__D2>,
294 <PIN_PA25__D3>,
295 <PIN_PA26__D4>,
296 <PIN_PA27__D5>,
297 <PIN_PA28__D6>,
298 <PIN_PA29__D7>,
299 <PIN_PA30__NWE_NANDWE>,
300 <PIN_PB2__NRD_NANDOE>;
301 bias-pull-up;
302 };
303
304 ale_cle_rdy_cs {
305 pinmux = <PIN_PB0__A21_NANDALE>,
306 <PIN_PB1__A22_NANDCLE>,
307 <PIN_PC8__NANDRDY>,
308 <PIN_PA31__NCS3>;
309 bias-pull-up;
310 };
311 };
312
313 pinctrl_sdmmc0_default: sdmmc0_default {
314 cmd_data {
315 pinmux = <PIN_PA1__SDMMC0_CMD>,
316 <PIN_PA2__SDMMC0_DAT0>,
317 <PIN_PA3__SDMMC0_DAT1>,
318 <PIN_PA4__SDMMC0_DAT2>,
319 <PIN_PA5__SDMMC0_DAT3>,
320 <PIN_PA6__SDMMC0_DAT4>,
321 <PIN_PA7__SDMMC0_DAT5>,
322 <PIN_PA8__SDMMC0_DAT6>,
323 <PIN_PA9__SDMMC0_DAT7>;
324 bias-pull-up;
325 };
326
327 ck_cd_vddsel {
328 pinmux = <PIN_PA0__SDMMC0_CK>,
329 <PIN_PA11__SDMMC0_VDDSEL>,
330 <PIN_PA13__SDMMC0_CD>;
331 bias-disable;
332 };
333 };
334
335 pinctrl_spi0_default: spi0_default {
336 pinmux = <PIN_PA14__SPI0_SPCK>,
337 <PIN_PA15__SPI0_MOSI>,
338 <PIN_PA16__SPI0_MISO>,
339 <PIN_PA17__SPI0_NPCS0>;
340 bias-disable;
341 };
342
343 pinctrl_spi1_default: spi1_default {
344 pinmux = <PIN_PC1__SPI1_SPCK>,
345 <PIN_PC2__SPI1_MOSI>,
346 <PIN_PC3__SPI1_MISO>,
347 <PIN_PC4__SPI1_NPCS0>;
348 bias-disable;
349 };
350
351 pinctrl_uart0_default: uart0_default {
352 pinmux = <PIN_PB26__URXD0>,
353 <PIN_PB27__UTXD0>;
354 bias-disable;
355 };
356
357 pinctrl_uart2_default: uart2_default {
358 pinmux = <PIN_PD23__URXD2>,
359 <PIN_PD24__UTXD2>;
360 bias-disable;
361 };
362
363 pinctrl_usb_default: usb_default {
364 pinmux = <PIN_PB12__GPIO>;
365 bias-disable;
366 };
367
368 pinctrl_usba_vbus: usba_vbus {
369 pinmux = <PIN_PB11__GPIO>;
370 bias-disable;
371 };
372
373 };
374
375 };
376 };
377
378 gpio_keys {
379 compatible = "gpio-keys";
380
381 pinctrl-names = "default";
382 pinctrl-0 = <&pinctrl_key_gpio_default>;
383
384 bp1 {
385 label = "PB_USER";
386 gpios = <&pioA PIN_PA10 GPIO_ACTIVE_LOW>;
387 linux,code = <0x104>;
388 };
389 };
390
391 leds {
392 compatible = "gpio-leds";
393 pinctrl-names = "default";
394 pinctrl-0 = <&pinctrl_led_gpio_default>;
395 status = "okay";
396
397 red {
398 label = "red";
399 gpios = <&pioA PIN_PB10 GPIO_ACTIVE_HIGH>;
400 };
401
402 green {
403 label = "green";
404 gpios = <&pioA PIN_PB8 GPIO_ACTIVE_HIGH>;
405 };
406
407 blue {
408 label = "blue";
409 gpios = <&pioA PIN_PB6 GPIO_ACTIVE_HIGH>;
410 linux,default-trigger = "heartbeat";
411 };
412 };
413};
diff --git a/arch/arm/boot/dts/at91-sama5d2_xplained.dts b/arch/arm/boot/dts/at91-sama5d2_xplained.dts
index 56de21de2779..e4bbb7e0f793 100644
--- a/arch/arm/boot/dts/at91-sama5d2_xplained.dts
+++ b/arch/arm/boot/dts/at91-sama5d2_xplained.dts
@@ -133,6 +133,18 @@
133 }; 133 };
134 }; 134 };
135 135
136 tcb0: timer@f800c000 {
137 timer0: timer@0 {
138 compatible = "atmel,tcb-timer";
139 reg = <0>;
140 };
141
142 timer1: timer@1 {
143 compatible = "atmel,tcb-timer";
144 reg = <1>;
145 };
146 };
147
136 pdmic@f8018000 { 148 pdmic@f8018000 {
137 pinctrl-names = "default"; 149 pinctrl-names = "default";
138 pinctrl-0 = <&pinctrl_pdmic_default>; 150 pinctrl-0 = <&pinctrl_pdmic_default>;
diff --git a/arch/arm/boot/dts/at91-sama5d3_xplained.dts b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
index 40879aded680..02c1d2958d78 100644
--- a/arch/arm/boot/dts/at91-sama5d3_xplained.dts
+++ b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
@@ -65,6 +65,18 @@
65 status = "okay"; 65 status = "okay";
66 }; 66 };
67 67
68 tcb0: timer@f0010000 {
69 timer0: timer@0 {
70 compatible = "atmel,tcb-timer";
71 reg = <0>;
72 };
73
74 timer1: timer@1 {
75 compatible = "atmel,tcb-timer";
76 reg = <1>;
77 };
78 };
79
68 i2c0: i2c@f0014000 { 80 i2c0: i2c@f0014000 {
69 pinctrl-0 = <&pinctrl_i2c0_pu>; 81 pinctrl-0 = <&pinctrl_i2c0_pu>;
70 status = "okay"; 82 status = "okay";
diff --git a/arch/arm/boot/dts/at91-sama5d4_ma5d4.dtsi b/arch/arm/boot/dts/at91-sama5d4_ma5d4.dtsi
index b813fdfa2842..d3e79fbf1944 100644
--- a/arch/arm/boot/dts/at91-sama5d4_ma5d4.dtsi
+++ b/arch/arm/boot/dts/at91-sama5d4_ma5d4.dtsi
@@ -89,6 +89,18 @@
89 }; 89 };
90 }; 90 };
91 91
92 tcb2: timer@fc024000 {
93 timer@0 {
94 compatible = "atmel,tcb-timer";
95 reg = <0>;
96 };
97
98 timer@1 {
99 compatible = "atmel,tcb-timer";
100 reg = <1>;
101 };
102 };
103
92 adc0: adc@fc034000 { 104 adc0: adc@fc034000 {
93 pinctrl-names = "default"; 105 pinctrl-names = "default";
94 pinctrl-0 = < 106 pinctrl-0 = <
diff --git a/arch/arm/boot/dts/at91-sama5d4_xplained.dts b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
index 29ab17a97f9a..4b7c762d5f22 100644
--- a/arch/arm/boot/dts/at91-sama5d4_xplained.dts
+++ b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
@@ -130,6 +130,18 @@
130 status = "okay"; 130 status = "okay";
131 }; 131 };
132 132
133 tcb2: timer@fc024000 {
134 timer0: timer@0 {
135 compatible = "atmel,tcb-timer";
136 reg = <0>;
137 };
138
139 timer1: timer@1 {
140 compatible = "atmel,tcb-timer";
141 reg = <1>;
142 };
143 };
144
133 adc0: adc@fc034000 { 145 adc0: adc@fc034000 {
134 pinctrl-names = "default"; 146 pinctrl-names = "default";
135 pinctrl-0 = < 147 pinctrl-0 = <
diff --git a/arch/arm/boot/dts/at91-sama5d4ek.dts b/arch/arm/boot/dts/at91-sama5d4ek.dts
index 5b7ee92e32a7..7887a7160a54 100644
--- a/arch/arm/boot/dts/at91-sama5d4ek.dts
+++ b/arch/arm/boot/dts/at91-sama5d4ek.dts
@@ -174,6 +174,18 @@
174 status = "okay"; 174 status = "okay";
175 }; 175 };
176 176
177 tcb2: timer@fc024000 {
178 timer@0 {
179 compatible = "atmel,tcb-timer";
180 reg = <0>;
181 };
182
183 timer@1 {
184 compatible = "atmel,tcb-timer";
185 reg = <1>;
186 };
187 };
188
177 watchdog@fc068640 { 189 watchdog@fc068640 {
178 status = "okay"; 190 status = "okay";
179 }; 191 };
diff --git a/arch/arm/boot/dts/at91-vinco.dts b/arch/arm/boot/dts/at91-vinco.dts
index 9f6005708ea8..1be9889a2b3a 100644
--- a/arch/arm/boot/dts/at91-vinco.dts
+++ b/arch/arm/boot/dts/at91-vinco.dts
@@ -151,6 +151,18 @@
151 status = "okay"; 151 status = "okay";
152 }; 152 };
153 153
154 tcb2: timer@fc024000 {
155 timer@0 {
156 compatible = "atmel,tcb-timer";
157 reg = <0>;
158 };
159
160 timer@1 {
161 compatible = "atmel,tcb-timer";
162 reg = <1>;
163 };
164 };
165
154 macb1: ethernet@fc028000 { 166 macb1: ethernet@fc028000 {
155 phy-mode = "rmii"; 167 phy-mode = "rmii";
156 status = "okay"; 168 status = "okay";
diff --git a/arch/arm/boot/dts/at91rm9200.dtsi b/arch/arm/boot/dts/at91rm9200.dtsi
index da622bf45b4a..ba61893a02a0 100644
--- a/arch/arm/boot/dts/at91rm9200.dtsi
+++ b/arch/arm/boot/dts/at91rm9200.dtsi
@@ -375,7 +375,9 @@
375 }; 375 };
376 376
377 tcb0: timer@fffa0000 { 377 tcb0: timer@fffa0000 {
378 compatible = "atmel,at91rm9200-tcb"; 378 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
379 #address-cells = <1>;
380 #size-cells = <0>;
379 reg = <0xfffa0000 0x100>; 381 reg = <0xfffa0000 0x100>;
380 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0 382 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0
381 18 IRQ_TYPE_LEVEL_HIGH 0 383 18 IRQ_TYPE_LEVEL_HIGH 0
@@ -385,7 +387,9 @@
385 }; 387 };
386 388
387 tcb1: timer@fffa4000 { 389 tcb1: timer@fffa4000 {
388 compatible = "atmel,at91rm9200-tcb"; 390 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
391 #address-cells = <1>;
392 #size-cells = <0>;
389 reg = <0xfffa4000 0x100>; 393 reg = <0xfffa4000 0x100>;
390 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0 394 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0
391 21 IRQ_TYPE_LEVEL_HIGH 0 395 21 IRQ_TYPE_LEVEL_HIGH 0
diff --git a/arch/arm/boot/dts/at91rm9200ek.dts b/arch/arm/boot/dts/at91rm9200ek.dts
index 33192d0cefee..81aaf8151c76 100644
--- a/arch/arm/boot/dts/at91rm9200ek.dts
+++ b/arch/arm/boot/dts/at91rm9200ek.dts
@@ -32,6 +32,18 @@
32 32
33 ahb { 33 ahb {
34 apb { 34 apb {
35 tcb0: timer@fffa0000 {
36 timer@0 {
37 compatible = "atmel,tcb-timer";
38 reg = <0>, <1>;
39 };
40
41 timer@2 {
42 compatible = "atmel,tcb-timer";
43 reg = <2>;
44 };
45 };
46
35 usb1: gadget@fffb0000 { 47 usb1: gadget@fffb0000 {
36 atmel,vbus-gpio = <&pioD 4 GPIO_ACTIVE_HIGH>; 48 atmel,vbus-gpio = <&pioD 4 GPIO_ACTIVE_HIGH>;
37 atmel,pullup-gpio = <&pioD 5 GPIO_ACTIVE_HIGH>; 49 atmel,pullup-gpio = <&pioD 5 GPIO_ACTIVE_HIGH>;
diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi
index bc655e7332d6..655f06cd716a 100644
--- a/arch/arm/boot/dts/at91sam9260.dtsi
+++ b/arch/arm/boot/dts/at91sam9260.dtsi
@@ -386,7 +386,9 @@
386 }; 386 };
387 387
388 tcb0: timer@fffa0000 { 388 tcb0: timer@fffa0000 {
389 compatible = "atmel,at91rm9200-tcb"; 389 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
390 #address-cells = <1>;
391 #size-cells = <0>;
390 reg = <0xfffa0000 0x100>; 392 reg = <0xfffa0000 0x100>;
391 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0 393 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0
392 18 IRQ_TYPE_LEVEL_HIGH 0 394 18 IRQ_TYPE_LEVEL_HIGH 0
@@ -396,7 +398,9 @@
396 }; 398 };
397 399
398 tcb1: timer@fffdc000 { 400 tcb1: timer@fffdc000 {
399 compatible = "atmel,at91rm9200-tcb"; 401 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
402 #address-cells = <1>;
403 #size-cells = <0>;
400 reg = <0xfffdc000 0x100>; 404 reg = <0xfffdc000 0x100>;
401 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0 405 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0
402 27 IRQ_TYPE_LEVEL_HIGH 0 406 27 IRQ_TYPE_LEVEL_HIGH 0
diff --git a/arch/arm/boot/dts/at91sam9260ek.dts b/arch/arm/boot/dts/at91sam9260ek.dts
index b2578feceb08..e16c706d91ef 100644
--- a/arch/arm/boot/dts/at91sam9260ek.dts
+++ b/arch/arm/boot/dts/at91sam9260ek.dts
@@ -69,6 +69,18 @@
69 69
70 ahb { 70 ahb {
71 apb { 71 apb {
72 tcb0: timer@fffa0000 {
73 timer@0 {
74 compatible = "atmel,tcb-timer";
75 reg = <0>, <1>;
76 };
77
78 timer@2 {
79 compatible = "atmel,tcb-timer";
80 reg = <2>;
81 };
82 };
83
72 usb1: gadget@fffa4000 { 84 usb1: gadget@fffa4000 {
73 atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>; 85 atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
74 status = "okay"; 86 status = "okay";
diff --git a/arch/arm/boot/dts/at91sam9261.dtsi b/arch/arm/boot/dts/at91sam9261.dtsi
index 66876019101d..ddfc63b8fd4e 100644
--- a/arch/arm/boot/dts/at91sam9261.dtsi
+++ b/arch/arm/boot/dts/at91sam9261.dtsi
@@ -80,7 +80,7 @@
80 status = "disabled"; 80 status = "disabled";
81 }; 81 };
82 82
83 fb0: fb@0x00600000 { 83 fb0: fb@600000 {
84 compatible = "atmel,at91sam9261-lcdc"; 84 compatible = "atmel,at91sam9261-lcdc";
85 reg = <0x00600000 0x1000>; 85 reg = <0x00600000 0x1000>;
86 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>; 86 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>;
@@ -125,7 +125,9 @@
125 ranges; 125 ranges;
126 126
127 tcb0: timer@fffa0000 { 127 tcb0: timer@fffa0000 {
128 compatible = "atmel,at91rm9200-tcb"; 128 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
129 #address-cells = <1>;
130 #size-cells = <0>;
129 reg = <0xfffa0000 0x100>; 131 reg = <0xfffa0000 0x100>;
130 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>, 132 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>,
131 <18 IRQ_TYPE_LEVEL_HIGH 0>, 133 <18 IRQ_TYPE_LEVEL_HIGH 0>,
diff --git a/arch/arm/boot/dts/at91sam9261ek.dts b/arch/arm/boot/dts/at91sam9261ek.dts
index 960d6940ebf6..a29fc0494076 100644
--- a/arch/arm/boot/dts/at91sam9261ek.dts
+++ b/arch/arm/boot/dts/at91sam9261ek.dts
@@ -15,6 +15,14 @@
15 chosen { 15 chosen {
16 bootargs = "rootfstype=ubifs ubi.mtd=5 root=ubi0:rootfs rw"; 16 bootargs = "rootfstype=ubifs ubi.mtd=5 root=ubi0:rootfs rw";
17 stdout-path = "serial0:115200n8"; 17 stdout-path = "serial0:115200n8";
18
19 clocksource {
20 timer = <&timer0>;
21 };
22
23 clockevent {
24 timer = <&timer1>;
25 };
18 }; 26 };
19 27
20 memory { 28 memory {
@@ -36,7 +44,7 @@
36 status = "okay"; 44 status = "okay";
37 }; 45 };
38 46
39 fb0: fb@0x00600000 { 47 fb0: fb@600000 {
40 display = <&display0>; 48 display = <&display0>;
41 atmel,power-control-gpio = <&pioA 12 GPIO_ACTIVE_LOW>; 49 atmel,power-control-gpio = <&pioA 12 GPIO_ACTIVE_LOW>;
42 status = "okay"; 50 status = "okay";
@@ -125,6 +133,18 @@
125 }; 133 };
126 134
127 apb { 135 apb {
136 tcb0: timer@fffa0000 {
137 timer0: timer@0 {
138 compatible = "atmel,tcb-timer";
139 reg = <0>, <1>;
140 };
141
142 timer1: timer@2 {
143 compatible = "atmel,tcb-timer";
144 reg = <2>;
145 };
146 };
147
128 usb1: gadget@fffa4000 { 148 usb1: gadget@fffa4000 {
129 atmel,vbus-gpio = <&pioB 29 GPIO_ACTIVE_HIGH>; 149 atmel,vbus-gpio = <&pioB 29 GPIO_ACTIVE_HIGH>;
130 status = "okay"; 150 status = "okay";
diff --git a/arch/arm/boot/dts/at91sam9263.dtsi b/arch/arm/boot/dts/at91sam9263.dtsi
index e54f14d36b6f..f2405671e3bd 100644
--- a/arch/arm/boot/dts/at91sam9263.dtsi
+++ b/arch/arm/boot/dts/at91sam9263.dtsi
@@ -389,7 +389,9 @@
389 }; 389 };
390 390
391 tcb0: timer@fff7c000 { 391 tcb0: timer@fff7c000 {
392 compatible = "atmel,at91rm9200-tcb"; 392 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
393 #address-cells = <1>;
394 #size-cells = <0>;
393 reg = <0xfff7c000 0x100>; 395 reg = <0xfff7c000 0x100>;
394 interrupts = <19 IRQ_TYPE_LEVEL_HIGH 0>; 396 interrupts = <19 IRQ_TYPE_LEVEL_HIGH 0>;
395 clocks = <&tcb_clk>, <&slow_xtal>; 397 clocks = <&tcb_clk>, <&slow_xtal>;
@@ -999,7 +1001,7 @@
999 }; 1001 };
1000 }; 1002 };
1001 1003
1002 fb0: fb@0x00700000 { 1004 fb0: fb@700000 {
1003 compatible = "atmel,at91sam9263-lcdc"; 1005 compatible = "atmel,at91sam9263-lcdc";
1004 reg = <0x00700000 0x1000>; 1006 reg = <0x00700000 0x1000>;
1005 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 3>; 1007 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 3>;
diff --git a/arch/arm/boot/dts/at91sam9263ek.dts b/arch/arm/boot/dts/at91sam9263ek.dts
index 5a2e1af793f5..e9a7c70830a8 100644
--- a/arch/arm/boot/dts/at91sam9263ek.dts
+++ b/arch/arm/boot/dts/at91sam9263ek.dts
@@ -37,6 +37,18 @@
37 status = "okay"; 37 status = "okay";
38 }; 38 };
39 39
40 tcb0: timer@fff7c000 {
41 timer@0 {
42 compatible = "atmel,tcb-timer";
43 reg = <0>, <1>;
44 };
45
46 timer@2 {
47 compatible = "atmel,tcb-timer";
48 reg = <2>;
49 };
50 };
51
40 usart0: serial@fff8c000 { 52 usart0: serial@fff8c000 {
41 pinctrl-0 = < 53 pinctrl-0 = <
42 &pinctrl_usart0 54 &pinctrl_usart0
@@ -95,7 +107,7 @@
95 }; 107 };
96 }; 108 };
97 109
98 fb0: fb@0x00700000 { 110 fb0: fb@700000 {
99 display = <&display0>; 111 display = <&display0>;
100 status = "okay"; 112 status = "okay";
101 113
diff --git a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
index ac9a1511e239..50561b7b7939 100644
--- a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
+++ b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
@@ -51,6 +51,18 @@
51 status = "okay"; 51 status = "okay";
52 }; 52 };
53 53
54 tcb0: timer@fffa0000 {
55 timer@0 {
56 compatible = "atmel,tcb-timer";
57 reg = <0>, <1>;
58 };
59
60 timer@2 {
61 compatible = "atmel,tcb-timer";
62 reg = <2>;
63 };
64 };
65
54 usart0: serial@fffb0000 { 66 usart0: serial@fffb0000 {
55 pinctrl-0 = 67 pinctrl-0 =
56 <&pinctrl_usart0 68 <&pinctrl_usart0
diff --git a/arch/arm/boot/dts/at91sam9g25ek.dts b/arch/arm/boot/dts/at91sam9g25ek.dts
index 91a71774472e..31fecc2cdaf9 100644
--- a/arch/arm/boot/dts/at91sam9g25ek.dts
+++ b/arch/arm/boot/dts/at91sam9g25ek.dts
@@ -25,7 +25,7 @@
25 }; 25 };
26 26
27 i2c0: i2c@f8010000 { 27 i2c0: i2c@f8010000 {
28 ov2640: camera@0x30 { 28 ov2640: camera@30 {
29 compatible = "ovti,ov2640"; 29 compatible = "ovti,ov2640";
30 reg = <0x30>; 30 reg = <0x30>;
31 pinctrl-names = "default"; 31 pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi
index 2b127ca7aaa0..3a30eec7f508 100644
--- a/arch/arm/boot/dts/at91sam9g45.dtsi
+++ b/arch/arm/boot/dts/at91sam9g45.dtsi
@@ -415,7 +415,9 @@
415 }; 415 };
416 416
417 tcb0: timer@fff7c000 { 417 tcb0: timer@fff7c000 {
418 compatible = "atmel,at91rm9200-tcb"; 418 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
419 #address-cells = <1>;
420 #size-cells = <0>;
419 reg = <0xfff7c000 0x100>; 421 reg = <0xfff7c000 0x100>;
420 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>; 422 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>;
421 clocks = <&tcb0_clk>, <&tcb0_clk>, <&tcb0_clk>, <&clk32k>; 423 clocks = <&tcb0_clk>, <&tcb0_clk>, <&tcb0_clk>, <&clk32k>;
@@ -423,7 +425,9 @@
423 }; 425 };
424 426
425 tcb1: timer@fffd4000 { 427 tcb1: timer@fffd4000 {
426 compatible = "atmel,at91rm9200-tcb"; 428 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
429 #address-cells = <1>;
430 #size-cells = <0>;
427 reg = <0xfffd4000 0x100>; 431 reg = <0xfffd4000 0x100>;
428 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>; 432 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>;
429 clocks = <&tcb0_clk>, <&tcb0_clk>, <&tcb0_clk>, <&clk32k>; 433 clocks = <&tcb0_clk>, <&tcb0_clk>, <&tcb0_clk>, <&clk32k>;
@@ -1302,7 +1306,7 @@
1302 }; 1306 };
1303 }; 1307 };
1304 1308
1305 fb0: fb@0x00500000 { 1309 fb0: fb@500000 {
1306 compatible = "atmel,at91sam9g45-lcdc"; 1310 compatible = "atmel,at91sam9g45-lcdc";
1307 reg = <0x00500000 0x1000>; 1311 reg = <0x00500000 0x1000>;
1308 interrupts = <23 IRQ_TYPE_LEVEL_HIGH 3>; 1312 interrupts = <23 IRQ_TYPE_LEVEL_HIGH 3>;
diff --git a/arch/arm/boot/dts/at91sam9m10g45ek.dts b/arch/arm/boot/dts/at91sam9m10g45ek.dts
index e922552a04cb..25888339d8de 100644
--- a/arch/arm/boot/dts/at91sam9m10g45ek.dts
+++ b/arch/arm/boot/dts/at91sam9m10g45ek.dts
@@ -39,6 +39,18 @@
39 status = "okay"; 39 status = "okay";
40 }; 40 };
41 41
42 tcb0: timer@fff7c000 {
43 timer@0 {
44 compatible = "atmel,tcb-timer";
45 reg = <0>, <1>;
46 };
47
48 timer@2 {
49 compatible = "atmel,tcb-timer";
50 reg = <2>;
51 };
52 };
53
42 usart1: serial@fff90000 { 54 usart1: serial@fff90000 {
43 pinctrl-0 = 55 pinctrl-0 =
44 <&pinctrl_usart1 56 <&pinctrl_usart1
@@ -220,7 +232,7 @@
220 }; 232 };
221 }; 233 };
222 234
223 fb0: fb@0x00500000 { 235 fb0: fb@500000 {
224 display = <&display0>; 236 display = <&display0>;
225 status = "okay"; 237 status = "okay";
226 238
diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi b/arch/arm/boot/dts/at91sam9n12.dtsi
index e0ac824e0785..4b62f4f963f6 100644
--- a/arch/arm/boot/dts/at91sam9n12.dtsi
+++ b/arch/arm/boot/dts/at91sam9n12.dtsi
@@ -446,7 +446,9 @@
446 }; 446 };
447 447
448 tcb0: timer@f8008000 { 448 tcb0: timer@f8008000 {
449 compatible = "atmel,at91sam9x5-tcb"; 449 compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
450 #address-cells = <1>;
451 #size-cells = <0>;
450 reg = <0xf8008000 0x100>; 452 reg = <0xf8008000 0x100>;
451 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>; 453 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
452 clocks = <&tcb_clk>, <&clk32k>; 454 clocks = <&tcb_clk>, <&clk32k>;
@@ -454,7 +456,9 @@
454 }; 456 };
455 457
456 tcb1: timer@f800c000 { 458 tcb1: timer@f800c000 {
457 compatible = "atmel,at91sam9x5-tcb"; 459 compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
460 #address-cells = <1>;
461 #size-cells = <0>;
458 reg = <0xf800c000 0x100>; 462 reg = <0xf800c000 0x100>;
459 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>; 463 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
460 clocks = <&tcb_clk>, <&clk32k>; 464 clocks = <&tcb_clk>, <&clk32k>;
diff --git a/arch/arm/boot/dts/at91sam9n12ek.dts b/arch/arm/boot/dts/at91sam9n12ek.dts
index 212562aedf5e..c43095c5cb5c 100644
--- a/arch/arm/boot/dts/at91sam9n12ek.dts
+++ b/arch/arm/boot/dts/at91sam9n12ek.dts
@@ -42,6 +42,18 @@
42 status = "okay"; 42 status = "okay";
43 }; 43 };
44 44
45 tcb0: timer@f8008000 {
46 timer@0 {
47 compatible = "atmel,tcb-timer";
48 reg = <0>;
49 };
50
51 timer@1 {
52 compatible = "atmel,tcb-timer";
53 reg = <1>;
54 };
55 };
56
45 i2c0: i2c@f8010000 { 57 i2c0: i2c@f8010000 {
46 status = "okay"; 58 status = "okay";
47 59
diff --git a/arch/arm/boot/dts/at91sam9rl.dtsi b/arch/arm/boot/dts/at91sam9rl.dtsi
index 52f0e9ef8f67..3cae687dccbd 100644
--- a/arch/arm/boot/dts/at91sam9rl.dtsi
+++ b/arch/arm/boot/dts/at91sam9rl.dtsi
@@ -124,7 +124,9 @@
124 ranges; 124 ranges;
125 125
126 tcb0: timer@fffa0000 { 126 tcb0: timer@fffa0000 {
127 compatible = "atmel,at91rm9200-tcb"; 127 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
128 #address-cells = <1>;
129 #size-cells = <0>;
128 reg = <0xfffa0000 0x100>; 130 reg = <0xfffa0000 0x100>;
129 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 0>, 131 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 0>,
130 <17 IRQ_TYPE_LEVEL_HIGH 0>, 132 <17 IRQ_TYPE_LEVEL_HIGH 0>,
diff --git a/arch/arm/boot/dts/at91sam9rlek.dts b/arch/arm/boot/dts/at91sam9rlek.dts
index ea6ed98960c9..4bde9f245e61 100644
--- a/arch/arm/boot/dts/at91sam9rlek.dts
+++ b/arch/arm/boot/dts/at91sam9rlek.dts
@@ -124,6 +124,18 @@
124 }; 124 };
125 125
126 apb { 126 apb {
127 tcb0: timer@fffa0000 {
128 timer@0 {
129 compatible = "atmel,tcb-timer";
130 reg = <0>, <1>;
131 };
132
133 timer@2 {
134 compatible = "atmel,tcb-timer";
135 reg = <2>;
136 };
137 };
138
127 mmc0: mmc@fffa4000 { 139 mmc0: mmc@fffa4000 {
128 pinctrl-0 = < 140 pinctrl-0 = <
129 &pinctrl_board_mmc0 141 &pinctrl_board_mmc0
diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi b/arch/arm/boot/dts/at91sam9x5.dtsi
index ad779a7dfefd..fee4fe51a97e 100644
--- a/arch/arm/boot/dts/at91sam9x5.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5.dtsi
@@ -433,7 +433,9 @@
433 }; 433 };
434 434
435 tcb0: timer@f8008000 { 435 tcb0: timer@f8008000 {
436 compatible = "atmel,at91sam9x5-tcb"; 436 compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
437 #address-cells = <1>;
438 #size-cells = <0>;
437 reg = <0xf8008000 0x100>; 439 reg = <0xf8008000 0x100>;
438 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>; 440 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
439 clocks = <&tcb0_clk>, <&clk32k>; 441 clocks = <&tcb0_clk>, <&clk32k>;
@@ -441,7 +443,9 @@
441 }; 443 };
442 444
443 tcb1: timer@f800c000 { 445 tcb1: timer@f800c000 {
444 compatible = "atmel,at91sam9x5-tcb"; 446 compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
447 #address-cells = <1>;
448 #size-cells = <0>;
445 reg = <0xf800c000 0x100>; 449 reg = <0xf800c000 0x100>;
446 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>; 450 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
447 clocks = <&tcb0_clk>, <&clk32k>; 451 clocks = <&tcb0_clk>, <&clk32k>;
diff --git a/arch/arm/boot/dts/at91sam9x5cm.dtsi b/arch/arm/boot/dts/at91sam9x5cm.dtsi
index bdeaa0b64a5b..4908ee07e628 100644
--- a/arch/arm/boot/dts/at91sam9x5cm.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5cm.dtsi
@@ -24,6 +24,18 @@
24 24
25 ahb { 25 ahb {
26 apb { 26 apb {
27 tcb0: timer@f8008000 {
28 timer@0 {
29 compatible = "atmel,tcb-timer";
30 reg = <0>;
31 };
32
33 timer@1 {
34 compatible = "atmel,tcb-timer";
35 reg = <1>;
36 };
37 };
38
27 pinctrl@fffff400 { 39 pinctrl@fffff400 {
28 1wire_cm { 40 1wire_cm {
29 pinctrl_1wire_cm: 1wire_cm-0 { 41 pinctrl_1wire_cm: 1wire_cm-0 {
diff --git a/arch/arm/boot/dts/ethernut5.dts b/arch/arm/boot/dts/ethernut5.dts
index 123b203be06c..b554f85add41 100644
--- a/arch/arm/boot/dts/ethernut5.dts
+++ b/arch/arm/boot/dts/ethernut5.dts
@@ -36,6 +36,18 @@
36 status = "okay"; 36 status = "okay";
37 }; 37 };
38 38
39 tcb0: timer@fffa0000 {
40 timer@0 {
41 compatible = "atmel,tcb-timer";
42 reg = <0>, <1>;
43 };
44
45 timer@2 {
46 compatible = "atmel,tcb-timer";
47 reg = <2>;
48 };
49 };
50
39 usart0: serial@fffb0000 { 51 usart0: serial@fffb0000 {
40 status = "okay"; 52 status = "okay";
41 }; 53 };
diff --git a/arch/arm/boot/dts/ge863-pro3.dtsi b/arch/arm/boot/dts/ge863-pro3.dtsi
index 6a9fdc0760f0..a7adbdc2f0c0 100644
--- a/arch/arm/boot/dts/ge863-pro3.dtsi
+++ b/arch/arm/boot/dts/ge863-pro3.dtsi
@@ -18,6 +18,18 @@
18 18
19 ahb { 19 ahb {
20 apb { 20 apb {
21 tcb0: timer@fffa0000 {
22 timer@0 {
23 compatible = "atmel,tcb-timer";
24 reg = <0>, <1>;
25 };
26
27 timer@2 {
28 compatible = "atmel,tcb-timer";
29 reg = <2>;
30 };
31 };
32
21 dbgu: serial@fffff200 { 33 dbgu: serial@fffff200 {
22 status = "okay"; 34 status = "okay";
23 }; 35 };
diff --git a/arch/arm/boot/dts/mpa1600.dts b/arch/arm/boot/dts/mpa1600.dts
index 36cfa215620d..43aaa67fcd87 100644
--- a/arch/arm/boot/dts/mpa1600.dts
+++ b/arch/arm/boot/dts/mpa1600.dts
@@ -32,6 +32,18 @@
32 status = "okay"; 32 status = "okay";
33 }; 33 };
34 34
35 tcb0: timer@fffa0000 {
36 timer@0 {
37 compatible = "atmel,tcb-timer";
38 reg = <0>, <1>;
39 };
40
41 timer@2 {
42 compatible = "atmel,tcb-timer";
43 reg = <2>;
44 };
45 };
46
35 macb0: ethernet@fffbc000 { 47 macb0: ethernet@fffbc000 {
36 phy-mode = "rmii"; 48 phy-mode = "rmii";
37 status = "okay"; 49 status = "okay";
diff --git a/arch/arm/boot/dts/pm9g45.dts b/arch/arm/boot/dts/pm9g45.dts
index be5177221cbb..927d00cab014 100644
--- a/arch/arm/boot/dts/pm9g45.dts
+++ b/arch/arm/boot/dts/pm9g45.dts
@@ -52,6 +52,18 @@
52 }; 52 };
53 }; 53 };
54 54
55 tcb0: timer@fff7c000 {
56 timer@0 {
57 compatible = "atmel,tcb-timer";
58 reg = <0>, <1>;
59 };
60
61 timer@2 {
62 compatible = "atmel,tcb-timer";
63 reg = <2>;
64 };
65 };
66
55 mmc0: mmc@fff80000 { 67 mmc0: mmc@fff80000 {
56 pinctrl-0 = < 68 pinctrl-0 = <
57 &pinctrl_board_mmc 69 &pinctrl_board_mmc
diff --git a/arch/arm/boot/dts/sama5d2.dtsi b/arch/arm/boot/dts/sama5d2.dtsi
index b44e63995583..61f68e5c48e9 100644
--- a/arch/arm/boot/dts/sama5d2.dtsi
+++ b/arch/arm/boot/dts/sama5d2.dtsi
@@ -1094,7 +1094,9 @@
1094 }; 1094 };
1095 1095
1096 tcb0: timer@f800c000 { 1096 tcb0: timer@f800c000 {
1097 compatible = "atmel,at91sam9x5-tcb"; 1097 compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
1098 #address-cells = <1>;
1099 #size-cells = <0>;
1098 reg = <0xf800c000 0x100>; 1100 reg = <0xf800c000 0x100>;
1099 interrupts = <35 IRQ_TYPE_LEVEL_HIGH 0>; 1101 interrupts = <35 IRQ_TYPE_LEVEL_HIGH 0>;
1100 clocks = <&tcb0_clk>, <&clk32k>; 1102 clocks = <&tcb0_clk>, <&clk32k>;
@@ -1102,7 +1104,9 @@
1102 }; 1104 };
1103 1105
1104 tcb1: timer@f8010000 { 1106 tcb1: timer@f8010000 {
1105 compatible = "atmel,at91sam9x5-tcb"; 1107 compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
1108 #address-cells = <1>;
1109 #size-cells = <0>;
1106 reg = <0xf8010000 0x100>; 1110 reg = <0xf8010000 0x100>;
1107 interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>; 1111 interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
1108 clocks = <&tcb1_clk>, <&clk32k>; 1112 clocks = <&tcb1_clk>, <&clk32k>;
@@ -1427,6 +1431,8 @@
1427 interrupts = <40 IRQ_TYPE_LEVEL_HIGH 7>; 1431 interrupts = <40 IRQ_TYPE_LEVEL_HIGH 7>;
1428 clocks = <&adc_clk>; 1432 clocks = <&adc_clk>;
1429 clock-names = "adc_clk"; 1433 clock-names = "adc_clk";
1434 dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | AT91_XDMAC_DT_PERID(25))>;
1435 dma-names = "rx";
1430 atmel,min-sample-rate-hz = <200000>; 1436 atmel,min-sample-rate-hz = <200000>;
1431 atmel,max-sample-rate-hz = <20000000>; 1437 atmel,max-sample-rate-hz = <20000000>;
1432 atmel,startup-time-ms = <4>; 1438 atmel,startup-time-ms = <4>;
diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi
index 1889b4dea066..b9c05b57735e 100644
--- a/arch/arm/boot/dts/sama5d3.dtsi
+++ b/arch/arm/boot/dts/sama5d3.dtsi
@@ -142,7 +142,9 @@
142 }; 142 };
143 143
144 tcb0: timer@f0010000 { 144 tcb0: timer@f0010000 {
145 compatible = "atmel,at91sam9x5-tcb"; 145 compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
146 #address-cells = <1>;
147 #size-cells = <0>;
146 reg = <0xf0010000 0x100>; 148 reg = <0xf0010000 0x100>;
147 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0>; 149 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0>;
148 clocks = <&tcb0_clk>, <&clk32k>; 150 clocks = <&tcb0_clk>, <&clk32k>;
diff --git a/arch/arm/boot/dts/sama5d3_tcb1.dtsi b/arch/arm/boot/dts/sama5d3_tcb1.dtsi
index 801f9745e82f..cb30bdb1a9ca 100644
--- a/arch/arm/boot/dts/sama5d3_tcb1.dtsi
+++ b/arch/arm/boot/dts/sama5d3_tcb1.dtsi
@@ -28,7 +28,9 @@
28 }; 28 };
29 29
30 tcb1: timer@f8014000 { 30 tcb1: timer@f8014000 {
31 compatible = "atmel,at91sam9x5-tcb"; 31 compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
32 #address-cells = <1>;
33 #size-cells = <0>;
32 reg = <0xf8014000 0x100>; 34 reg = <0xf8014000 0x100>;
33 interrupts = <27 IRQ_TYPE_LEVEL_HIGH 0>; 35 interrupts = <27 IRQ_TYPE_LEVEL_HIGH 0>;
34 clocks = <&tcb1_clk>, <&clk32k>; 36 clocks = <&tcb1_clk>, <&clk32k>;
diff --git a/arch/arm/boot/dts/sama5d3xcm.dtsi b/arch/arm/boot/dts/sama5d3xcm.dtsi
index 9506daf5efb6..3311a882458b 100644
--- a/arch/arm/boot/dts/sama5d3xcm.dtsi
+++ b/arch/arm/boot/dts/sama5d3xcm.dtsi
@@ -34,6 +34,18 @@
34 spi0: spi@f0004000 { 34 spi0: spi@f0004000 {
35 cs-gpios = <&pioD 13 0>, <0>, <0>, <0>; 35 cs-gpios = <&pioD 13 0>, <0>, <0>, <0>;
36 }; 36 };
37
38 tcb0: timer@f0010000 {
39 timer@0 {
40 compatible = "atmel,tcb-timer";
41 reg = <0>;
42 };
43
44 timer@1 {
45 compatible = "atmel,tcb-timer";
46 reg = <1>;
47 };
48 };
37 }; 49 };
38 50
39 ebi@10000000 { 51 ebi@10000000 {
diff --git a/arch/arm/boot/dts/sama5d3xcm_cmp.dtsi b/arch/arm/boot/dts/sama5d3xcm_cmp.dtsi
index 75cbf4d4ab1a..a02f59021364 100644
--- a/arch/arm/boot/dts/sama5d3xcm_cmp.dtsi
+++ b/arch/arm/boot/dts/sama5d3xcm_cmp.dtsi
@@ -69,6 +69,18 @@
69 cs-gpios = <&pioD 13 0>, <0>, <0>, <0>; 69 cs-gpios = <&pioD 13 0>, <0>, <0>, <0>;
70 }; 70 };
71 71
72 tcb0: timer@f0010000 {
73 timer@0 {
74 compatible = "atmel,tcb-timer";
75 reg = <0>;
76 };
77
78 timer@1 {
79 compatible = "atmel,tcb-timer";
80 reg = <1>;
81 };
82 };
83
72 macb0: ethernet@f0028000 { 84 macb0: ethernet@f0028000 {
73 phy-mode = "rgmii"; 85 phy-mode = "rgmii";
74 #address-cells = <1>; 86 #address-cells = <1>;
diff --git a/arch/arm/boot/dts/sama5d3xmb.dtsi b/arch/arm/boot/dts/sama5d3xmb.dtsi
index 7f55050dd405..ef0f2d049e15 100644
--- a/arch/arm/boot/dts/sama5d3xmb.dtsi
+++ b/arch/arm/boot/dts/sama5d3xmb.dtsi
@@ -53,7 +53,7 @@
53 }; 53 };
54 54
55 i2c1: i2c@f0018000 { 55 i2c1: i2c@f0018000 {
56 ov2640: camera@0x30 { 56 ov2640: camera@30 {
57 compatible = "ovti,ov2640"; 57 compatible = "ovti,ov2640";
58 reg = <0x30>; 58 reg = <0x30>;
59 pinctrl-names = "default"; 59 pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/sama5d3xmb_cmp.dtsi b/arch/arm/boot/dts/sama5d3xmb_cmp.dtsi
index 83e3d3e08fd4..97e171db5970 100644
--- a/arch/arm/boot/dts/sama5d3xmb_cmp.dtsi
+++ b/arch/arm/boot/dts/sama5d3xmb_cmp.dtsi
@@ -88,7 +88,7 @@
88 }; 88 };
89 89
90 i2c1: i2c@f0018000 { 90 i2c1: i2c@f0018000 {
91 ov2640: camera@0x30 { 91 ov2640: camera@30 {
92 compatible = "ovti,ov2640"; 92 compatible = "ovti,ov2640";
93 reg = <0x30>; 93 reg = <0x30>;
94 pinctrl-names = "default"; 94 pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/sama5d4.dtsi b/arch/arm/boot/dts/sama5d4.dtsi
index b069644ed238..373b3621b536 100644
--- a/arch/arm/boot/dts/sama5d4.dtsi
+++ b/arch/arm/boot/dts/sama5d4.dtsi
@@ -960,7 +960,9 @@
960 }; 960 };
961 961
962 tcb0: timer@f801c000 { 962 tcb0: timer@f801c000 {
963 compatible = "atmel,at91sam9x5-tcb"; 963 compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
964 #address-cells = <1>;
965 #size-cells = <0>;
964 reg = <0xf801c000 0x100>; 966 reg = <0xf801c000 0x100>;
965 interrupts = <40 IRQ_TYPE_LEVEL_HIGH 0>; 967 interrupts = <40 IRQ_TYPE_LEVEL_HIGH 0>;
966 clocks = <&tcb0_clk>, <&clk32k>; 968 clocks = <&tcb0_clk>, <&clk32k>;
@@ -1188,13 +1190,25 @@
1188 }; 1190 };
1189 1191
1190 tcb1: timer@fc020000 { 1192 tcb1: timer@fc020000 {
1191 compatible = "atmel,at91sam9x5-tcb"; 1193 compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
1194 #address-cells = <1>;
1195 #size-cells = <0>;
1192 reg = <0xfc020000 0x100>; 1196 reg = <0xfc020000 0x100>;
1193 interrupts = <41 IRQ_TYPE_LEVEL_HIGH 0>; 1197 interrupts = <41 IRQ_TYPE_LEVEL_HIGH 0>;
1194 clocks = <&tcb1_clk>, <&clk32k>; 1198 clocks = <&tcb1_clk>, <&clk32k>;
1195 clock-names = "t0_clk", "slow_clk"; 1199 clock-names = "t0_clk", "slow_clk";
1196 }; 1200 };
1197 1201
1202 tcb2: timer@fc024000 {
1203 compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
1204 #address-cells = <1>;
1205 #size-cells = <0>;
1206 reg = <0xfc024000 0x100>;
1207 interrupts = <42 IRQ_TYPE_LEVEL_HIGH 0>;
1208 clocks = <&tcb2_clk>, <&clk32k>;
1209 clock-names = "t0_clk", "slow_clk";
1210 };
1211
1198 macb1: ethernet@fc028000 { 1212 macb1: ethernet@fc028000 {
1199 compatible = "atmel,sama5d4-gem"; 1213 compatible = "atmel,sama5d4-gem";
1200 reg = <0xfc028000 0x100>; 1214 reg = <0xfc028000 0x100>;
diff --git a/arch/arm/boot/dts/tny_a9260_common.dtsi b/arch/arm/boot/dts/tny_a9260_common.dtsi
index 5d83df4675a1..8e3cf5109f98 100644
--- a/arch/arm/boot/dts/tny_a9260_common.dtsi
+++ b/arch/arm/boot/dts/tny_a9260_common.dtsi
@@ -27,6 +27,18 @@
27 27
28 ahb { 28 ahb {
29 apb { 29 apb {
30 tcb0: timer@fffa0000 {
31 timer@0 {
32 compatible = "atmel,tcb-timer";
33 reg = <0>, <1>;
34 };
35
36 timer@2 {
37 compatible = "atmel,tcb-timer";
38 reg = <2>;
39 };
40 };
41
30 dbgu: serial@fffff200 { 42 dbgu: serial@fffff200 {
31 status = "okay"; 43 status = "okay";
32 }; 44 };
diff --git a/arch/arm/boot/dts/tny_a9263.dts b/arch/arm/boot/dts/tny_a9263.dts
index 8cf0a9e08571..7b403db4cd34 100644
--- a/arch/arm/boot/dts/tny_a9263.dts
+++ b/arch/arm/boot/dts/tny_a9263.dts
@@ -36,6 +36,18 @@
36 status = "okay"; 36 status = "okay";
37 }; 37 };
38 38
39 tcb0: timer@fff7c000 {
40 timer@0 {
41 compatible = "atmel,tcb-timer";
42 reg = <0>, <1>;
43 };
44
45 timer@2 {
46 compatible = "atmel,tcb-timer";
47 reg = <2>;
48 };
49 };
50
39 usb1: gadget@fff78000 { 51 usb1: gadget@fff78000 {
40 atmel,vbus-gpio = <&pioB 11 GPIO_ACTIVE_HIGH>; 52 atmel,vbus-gpio = <&pioB 11 GPIO_ACTIVE_HIGH>;
41 status = "okay"; 53 status = "okay";
diff --git a/arch/arm/boot/dts/usb_a9260_common.dtsi b/arch/arm/boot/dts/usb_a9260_common.dtsi
index 34a49995eda3..de3fa3ab34d6 100644
--- a/arch/arm/boot/dts/usb_a9260_common.dtsi
+++ b/arch/arm/boot/dts/usb_a9260_common.dtsi
@@ -23,6 +23,18 @@
23 status = "okay"; 23 status = "okay";
24 }; 24 };
25 25
26 tcb0: timer@fffa0000 {
27 timer@0 {
28 compatible = "atmel,tcb-timer";
29 reg = <0>, <1>;
30 };
31
32 timer@2 {
33 compatible = "atmel,tcb-timer";
34 reg = <2>;
35 };
36 };
37
26 macb0: ethernet@fffc4000 { 38 macb0: ethernet@fffc4000 {
27 phy-mode = "rmii"; 39 phy-mode = "rmii";
28 status = "okay"; 40 status = "okay";
diff --git a/arch/arm/boot/dts/usb_a9263.dts b/arch/arm/boot/dts/usb_a9263.dts
index 7b1125be99c4..0a753b4c74e7 100644
--- a/arch/arm/boot/dts/usb_a9263.dts
+++ b/arch/arm/boot/dts/usb_a9263.dts
@@ -36,6 +36,18 @@
36 status = "okay"; 36 status = "okay";
37 }; 37 };
38 38
39 tcb0: timer@fff7c000 {
40 timer@0 {
41 compatible = "atmel,tcb-timer";
42 reg = <0>, <1>;
43 };
44
45 timer@2 {
46 compatible = "atmel,tcb-timer";
47 reg = <2>;
48 };
49 };
50
39 macb0: ethernet@fffbc000 { 51 macb0: ethernet@fffbc000 {
40 phy-mode = "rmii"; 52 phy-mode = "rmii";
41 status = "okay"; 53 status = "okay";