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@20000000 {
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				pinctrl-names = "default";
85				status = "okay";
86
87				slot@1 {
88					reg = <1>;
89					bus-width = <4>;
90				};
91			};
92
93			watchdog@fffffd40 {
94				status = "okay";
95			};
96		};
97
98		ebi: ebi@10000000 {
99			status = "okay";
100
101			nand_controller: nand-controller {
102				status = "okay";
103				pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
104				pinctrl-names = "default";
105
106				nand@3 {
107					reg = <0x3 0x0 0x800000>;
108					rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
109					cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
110					nand-bus-width = <8>;
111					nand-ecc-mode = "soft";
112					nand-on-flash-bbt;
113					label = "atmel_nand";
114
115					partitions {
116						compatible = "fixed-partitions";
117						#address-cells = <1>;
118						#size-cells = <1>;
119
120						barebox@0 {
121							label = "barebox";
122							reg = <0x0 0x58000>;
123						};
124
125						u_boot_env@58000 {
126							label = "u_boot_env";
127							reg = <0x58000 0x8000>;
128						};
129
130						ubi@60000 {
131							label = "ubi";
132							reg = <0x60000 0x1FA0000>;
133						};
134					};
135				};
136			};
137		};
138
139		usb0: ohci@500000 {
140			num-ports = <2>;
141			atmel,vbus-gpio = <&pioB 15 GPIO_ACTIVE_LOW>;
142			status = "okay";
143		};
144	};
145
146	leds {
147		compatible = "gpio-leds";
148
149		power_green {
150			label = "power_green";
151			gpios = <&pioC 17 GPIO_ACTIVE_HIGH>;
152			linux,default-trigger = "heartbeat";
153		};
154
155		power_red {
156			label = "power_red";
157			gpios = <&pioA 2 GPIO_ACTIVE_HIGH>;
158		};
159
160		tx_green {
161			label = "tx_green";
162			gpios = <&pioC 19 GPIO_ACTIVE_HIGH>;
163		};
164
165		tx_red {
166			label = "tx_red";
167			gpios = <&pioC 18 GPIO_ACTIVE_HIGH>;
168		};
169	};
170
171	gpio_keys {
172		compatible = "gpio-keys";
173		#address-cells = <1>;
174		#size-cells = <0>;
175
176		keyswitch_in {
177			label = "keyswitch_in";
178			gpios = <&pioB 1 GPIO_ACTIVE_HIGH>;
179			linux,code = <28>;
180			wakeup-source;
181		};
182
183		error_in {
184			label = "error_in";
185			gpios = <&pioB 2 GPIO_ACTIVE_HIGH>;
186			linux,code = <29>;
187			wakeup-source;
188		};
189
190		btn {
191			label = "btn";
192			gpios = <&pioC 23 GPIO_ACTIVE_HIGH>;
193			linux,code = <31>;
194			wakeup-source;
195		};
196	};
197};
198