1// SPDX-License-Identifier: GPL-2.0
2/*
3 * at91-kizbox2_common.dtsi - Device Tree Include file for
4 * Overkiz Kizbox 2 family SoC
5 *
6 * Copyright (C) 2014-2018 Overkiz SAS
7 *
8 * Authors: Antoine Aubert <a.aubert@overkiz.com>
9 *          Gaël Portay <g.portay@overkiz.com>
10 *          Kévin Raymond <k.raymond@overkiz.com>
11 */
12#include "sama5d31.dtsi"
13
14/ {
15	chosen {
16		bootargs = "ubi.mtd=ubi";
17		stdout-path = &dbgu;
18	};
19
20	memory@20000000 {
21		reg = <0x20000000 0x10000000>;
22	};
23
24	clocks {
25		slow_xtal {
26			clock-frequency = <32768>;
27		};
28
29		main_xtal {
30			clock-frequency = <12000000>;
31		};
32	};
33
34	gpio_keys {
35		compatible = "gpio-keys";
36		#address-cells = <1>;
37		#size-cells = <0>;
38
39		prog {
40			label = "PB_PROG";
41			gpios = <&pioE 27 GPIO_ACTIVE_LOW>;
42			linux,code = <0x102>;
43			wakeup-source;
44		};
45
46		reset {
47			label = "PB_RST";
48			gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
49			linux,code = <0x100>;
50			wakeup-source;
51		};
52
53		user {
54			label = "PB_USER";
55			gpios = <&pioE 31 GPIO_ACTIVE_HIGH>;
56			linux,code = <0x101>;
57			wakeup-source;
58		};
59	};
60
61	led-controller {
62		compatible = "pwm-leds";
63
64		led-1 {
65			label = "pwm:blue:user";
66			pwms = <&pwm0 2 10000000 0>;
67			max-brightness = <255>;
68			linux,default-trigger = "none";
69		};
70
71		led-2 {
72			label = "pwm:green:user";
73			pwms = <&pwm0 1 10000000 0>;
74			max-brightness = <255>;
75			linux,default-trigger = "default-on";
76		};
77
78		led-3 {
79			label = "pwm:red:user";
80			pwms = <&pwm0 0 10000000 0>;
81			max-brightness = <255>;
82			linux,default-trigger = "default-on";
83		};
84	};
85};
86
87&i2c1 {
88	status = "okay";
89
90	pmic: act8865@5b {
91		compatible = "active-semi,act8865";
92		reg = <0x5b>;
93		status = "okay";
94
95		regulators {
96			vcc_1v8_reg: DCDC_REG1 {
97				regulator-name = "VCC_1V8";
98				regulator-min-microvolt = <1800000>;
99				regulator-max-microvolt = <1800000>;
100				regulator-always-on;
101			};
102
103			vcc_1v2_reg: DCDC_REG2 {
104				regulator-name = "VCC_1V2";
105				regulator-min-microvolt = <1200000>;
106				regulator-max-microvolt = <1200000>;
107				regulator-always-on;
108			};
109
110			vcc_3v3_reg: DCDC_REG3 {
111				regulator-name = "VCC_3V3";
112				regulator-min-microvolt = <3300000>;
113				regulator-max-microvolt = <3300000>;
114				regulator-always-on;
115			};
116
117			vddfuse_reg: LDO_REG1 {
118				regulator-name = "FUSE_2V5";
119				regulator-min-microvolt = <2500000>;
120				regulator-max-microvolt = <2500000>;
121			};
122
123			vddana_reg: LDO_REG2 {
124				regulator-name = "VDDANA";
125				regulator-min-microvolt = <3300000>;
126				regulator-max-microvolt = <3300000>;
127				regulator-always-on;
128			};
129
130			vled_reg: LDO_REG3 {
131				regulator-name = "VLED";
132				regulator-min-microvolt = <3300000>;
133				regulator-max-microvolt = <3300000>;
134				regulator-always-on;
135			};
136
137			v3v8_rf_reg: LDO_REG4 {
138				regulator-name = "V3V8_RF";
139				regulator-min-microvolt = <3800000>;
140				regulator-max-microvolt = <3800000>;
141				regulator-always-on;
142			};
143		};
144	};
145};
146
147&usart0 {
148	atmel,use-dma-rx;
149	atmel,use-dma-tx;
150	status = "disabled";
151};
152
153&usart1 {
154	atmel,use-dma-rx;
155	atmel,use-dma-tx;
156	status = "disabled";
157};
158
159&usart2 {
160	atmel,use-dma-rx;
161	atmel,use-dma-tx;
162	status = "disabled";
163};
164
165&pwm0 {
166	pinctrl-names = "default";
167	pinctrl-0 = <&pinctrl_pwm0_pwmh0_1
168		     &pinctrl_pwm0_pwmh1_1
169		     &pinctrl_pwm0_pwmh2_0>;
170	status = "okay";
171};
172
173&adc0 {
174	atmel,adc-vref = <3333>;
175	status = "okay";
176};
177
178&macb1 {
179	phy-mode = "rmii";
180	status = "okay";
181};
182
183&dbgu {
184	status = "okay";
185};
186
187&watchdog {
188	status = "okay";
189};
190
191&ebi {
192	pinctrl-0 = <&pinctrl_ebi_nand_addr>;
193	pinctrl-names = "default";
194	status = "okay";
195};
196
197&nand_controller {
198	status = "okay";
199
200	nand@3 {
201		reg = <0x3 0x0 0x2>;
202		atmel,rb = <0>;
203		nand-bus-width = <8>;
204		nand-ecc-mode = "hw";
205		nand-ecc-strength = <4>;
206		nand-ecc-step-size = <512>;
207		nand-on-flash-bbt;
208		label = "atmel_nand";
209
210		partitions {
211			compatible = "fixed-partitions";
212			#address-cells = <1>;
213			#size-cells = <1>;
214
215			bootstrap@0 {
216				label = "bootstrap";
217				reg = <0x0 0x20000>;
218			};
219
220			ubi@20000 {
221				label = "ubi";
222				reg = <0x20000 0x7fe0000>;
223			};
224		};
225	};
226};
227
228&usb1 {
229	status = "okay";
230};
231
232&usb2 {
233	status = "okay";
234};
235
236/* WMBUS (inverted with IO in the latest schematic) */
237&pinctrl_usart0 {
238	atmel,pins =
239		<AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE
240		 AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
241		 AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>;
242};
243
244/* RTS */
245&pinctrl_usart1 {
246	atmel,pins =
247		<AT91_PIOB 28 AT91_PERIPH_A AT91_PINCTRL_NONE
248		 AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
249		 AT91_PIOE 7 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>;
250};
251
252/* IO (inverted with WMBUS in the latest schematic) */
253&pinctrl_usart2 {
254	atmel,pins =
255		<AT91_PIOE 25 AT91_PERIPH_B AT91_PINCTRL_NONE
256		 AT91_PIOE 26 AT91_PERIPH_B AT91_PINCTRL_PULL_UP
257		 AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>;
258};
259