1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * animeo_ip.dts - Device Tree file for Somfy Animeo IP Boards
4 *
5 *  Copyright (C) 2011-2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
6 */
7
8/dts-v1/;
9#include "at91sam9260.dtsi"
10
11/ {
12	model = "Somfy Animeo IP";
13	compatible = "somfy,animeo-ip", "atmel,at91sam9260", "atmel,at91sam9";
14
15	aliases {
16		serial0 = &usart1;
17		serial1 = &usart2;
18		serial2 = &usart0;
19		serial3 = &dbgu;
20		serial4 = &usart3;
21		serial5 = &uart0;
22		serial6 = &uart1;
23	};
24
25	chosen {
26		stdout-path = &usart2;
27	};
28
29	memory {
30		reg = <0x20000000 0x4000000>;
31	};
32
33	clocks {
34		slow_xtal {
35			clock-frequency = <32768>;
36		};
37
38		main_xtal {
39			clock-frequency = <18432000>;
40		};
41	};
42
43	ahb {
44		apb {
45			tcb0: timer@fffa0000 {
46				timer@0 {
47					compatible = "atmel,tcb-timer";
48					reg = <0>, <1>;
49				};
50
51				timer@2 {
52					compatible = "atmel,tcb-timer";
53					reg = <2>;
54				};
55			};
56
57			usart0: serial@fffb0000 {
58				pinctrl-0 = <&pinctrl_usart0 &pinctrl_usart0_rts>;
59				linux,rs485-enabled-at-boot-time;
60				status = "okay";
61			};
62
63			usart1: serial@fffb4000 {
64				pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts>;
65				linux,rs485-enabled-at-boot-time;
66				status = "okay";
67			};
68
69			usart2: serial@fffb8000 {
70				pinctrl-0 = <&pinctrl_usart2>;
71				status = "okay";
72			};
73
74			macb0: ethernet@fffc4000 {
75				pinctrl-0 = <&pinctrl_macb_rmii &pinctrl_macb_rmii_mii>;
76				phy-mode = "mii";
77				status = "okay";
78			};
79
80			mmc0: mmc@fffa8000 {
81				pinctrl-0 = <&pinctrl_mmc0_clk
82					     &pinctrl_mmc0_slot1_cmd_dat0
83					     &pinctrl_mmc0_slot1_dat1_3>;
84				status = "okay";
85
86				slot@1 {
87					reg = <1>;
88					bus-width = <4>;
89				};
90			};
91
92			watchdog@fffffd40 {
93				status = "okay";
94			};
95		};
96
97		ebi: ebi@10000000 {
98			status = "okay";
99
100			nand_controller: nand-controller {
101				status = "okay";
102				pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
103				pinctrl-names = "default";
104
105				nand@3 {
106					reg = <0x3 0x0 0x800000>;
107					rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
108					cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
109					nand-bus-width = <8>;
110					nand-ecc-mode = "soft";
111					nand-on-flash-bbt;
112					label = "atmel_nand";
113
114					partitions {
115						compatible = "fixed-partitions";
116						#address-cells = <1>;
117						#size-cells = <1>;
118
119						barebox@0 {
120							label = "barebox";
121							reg = <0x0 0x58000>;
122						};
123
124						u_boot_env@58000 {
125							label = "u_boot_env";
126							reg = <0x58000 0x8000>;
127						};
128
129						ubi@60000 {
130							label = "ubi";
131							reg = <0x60000 0x1FA0000>;
132						};
133					};
134				};
135			};
136		};
137
138		usb0: ohci@500000 {
139			num-ports = <2>;
140			atmel,vbus-gpio = <&pioB 15 GPIO_ACTIVE_LOW>;
141			status = "okay";
142		};
143	};
144
145	leds {
146		compatible = "gpio-leds";
147
148		power_green {
149			label = "power_green";
150			gpios = <&pioC 17 GPIO_ACTIVE_HIGH>;
151			linux,default-trigger = "heartbeat";
152		};
153
154		power_red {
155			label = "power_red";
156			gpios = <&pioA 2 GPIO_ACTIVE_HIGH>;
157		};
158
159		tx_green {
160			label = "tx_green";
161			gpios = <&pioC 19 GPIO_ACTIVE_HIGH>;
162		};
163
164		tx_red {
165			label = "tx_red";
166			gpios = <&pioC 18 GPIO_ACTIVE_HIGH>;
167		};
168	};
169
170	gpio_keys {
171		compatible = "gpio-keys";
172		#address-cells = <1>;
173		#size-cells = <0>;
174
175		keyswitch_in {
176			label = "keyswitch_in";
177			gpios = <&pioB 1 GPIO_ACTIVE_HIGH>;
178			linux,code = <28>;
179			wakeup-source;
180		};
181
182		error_in {
183			label = "error_in";
184			gpios = <&pioB 2 GPIO_ACTIVE_HIGH>;
185			linux,code = <29>;
186			wakeup-source;
187		};
188
189		btn {
190			label = "btn";
191			gpios = <&pioC 23 GPIO_ACTIVE_HIGH>;
192			linux,code = <31>;
193			wakeup-source;
194		};
195	};
196};
197