1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * at91-kizbox2.dts - Device Tree file for Overkiz Kizbox 2 board
4 *
5 * Copyright (C) 2014 Gaël PORTAY <g.portay@overkiz.com>
6 */
7/dts-v1/;
8#include "sama5d31.dtsi"
9#include <dt-bindings/pwm/pwm.h>
10
11/ {
12	model = "Overkiz Kizbox 2";
13	compatible = "overkiz,kizbox2", "atmel,sama5d31", "atmel,sama5d3", "atmel,sama5";
14
15	chosen {
16		bootargs = "ubi.mtd=ubi";
17		stdout-path = &dbgu;
18	};
19
20	memory {
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	ahb {
35		apb {
36			i2c1: i2c@f0018000 {
37				status = "okay";
38
39				pmic: act8865@5b {
40					compatible = "active-semi,act8865";
41					reg = <0x5b>;
42					status = "okay";
43
44					regulators {
45						vcc_1v8_reg: DCDC_REG1 {
46							regulator-name = "VCC_1V8";
47							regulator-min-microvolt = <1800000>;
48							regulator-max-microvolt = <1800000>;
49							regulator-always-on;
50						};
51
52						vcc_1v2_reg: DCDC_REG2 {
53							regulator-name = "VCC_1V2";
54							regulator-min-microvolt = <1200000>;
55							regulator-max-microvolt = <1200000>;
56							regulator-always-on;
57						};
58
59						vcc_3v3_reg: DCDC_REG3 {
60							regulator-name = "VCC_3V3";
61							regulator-min-microvolt = <3300000>;
62							regulator-max-microvolt = <3300000>;
63							regulator-always-on;
64						};
65
66						vddfuse_reg: LDO_REG1 {
67							regulator-name = "FUSE_2V5";
68							regulator-min-microvolt = <2500000>;
69							regulator-max-microvolt = <2500000>;
70						};
71
72						vddana_reg: LDO_REG2 {
73							regulator-name = "VDDANA";
74							regulator-min-microvolt = <3300000>;
75							regulator-max-microvolt = <3300000>;
76							regulator-always-on;
77						};
78
79						vled_reg: LDO_REG3 {
80							regulator-name = "VLED";
81							regulator-min-microvolt = <3300000>;
82							regulator-max-microvolt = <3300000>;
83							regulator-always-on;
84						};
85
86						v3v8_rf_reg: LDO_REG4 {
87							regulator-name = "V3V8_RF";
88							regulator-min-microvolt = <3800000>;
89							regulator-max-microvolt = <3800000>;
90							regulator-always-on;
91						};
92					};
93				};
94			};
95
96			tcb0: timer@f0010000 {
97				timer@0 {
98					compatible = "atmel,tcb-timer";
99					reg = <0>;
100				};
101
102				timer@1 {
103					compatible = "atmel,tcb-timer";
104					reg = <1>;
105				};
106			};
107
108			usart0: serial@f001c000 {
109				status = "okay";
110			};
111
112			usart1: serial@f0020000 {
113				status = "okay";
114			};
115
116			pwm0: pwm@f002c000 {
117				pinctrl-names = "default";
118				pinctrl-0 = <&pinctrl_pwm0_pwmh0_1
119					     &pinctrl_pwm0_pwmh1_1
120					     &pinctrl_pwm0_pwmh2_0>;
121				status = "okay";
122			};
123
124			adc0: adc@f8018000 {
125				atmel,adc-vref = <3333>;
126				status = "okay";
127			};
128
129			usart2: serial@f8020000 {
130				status = "okay";
131			};
132
133			macb1: ethernet@f802c000 {
134				phy-mode = "rmii";
135				status = "okay";
136			};
137
138			dbgu: serial@ffffee00 {
139				status = "okay";
140			};
141
142			watchdog@fffffe40 {
143				status = "okay";
144			};
145		};
146
147		usb1: ohci@600000 {
148			status = "okay";
149		};
150
151		usb2: ehci@700000 {
152			status = "okay";
153		};
154
155		ebi: ebi@10000000 {
156			pinctrl-0 = <&pinctrl_ebi_nand_addr>;
157			pinctrl-names = "default";
158			status = "okay";
159
160			nand_controller: nand-controller {
161				status = "okay";
162
163				nand@3 {
164					reg = <0x3 0x0 0x2>;
165					atmel,rb = <0>;
166					nand-bus-width = <8>;
167					nand-ecc-mode = "hw";
168					nand-ecc-strength = <4>;
169					nand-ecc-step-size = <512>;
170					nand-on-flash-bbt;
171					label = "atmel_nand";
172
173					partitions {
174						compatible = "fixed-partitions";
175						#address-cells = <1>;
176						#size-cells = <1>;
177
178						bootstrap@0 {
179							label = "bootstrap";
180							reg = <0x0 0x20000>;
181						};
182
183						ubi@20000 {
184							label = "ubi";
185							reg = <0x20000 0x7fe0000>;
186						};
187					};
188				};
189			};
190		};
191	};
192
193	gpio_keys {
194		compatible = "gpio-keys";
195		#address-cells = <1>;
196		#size-cells = <0>;
197
198		prog {
199			label = "PB_PROG";
200			gpios = <&pioE 27 GPIO_ACTIVE_LOW>;
201			linux,code = <0x102>;
202			wakeup-source;
203		};
204
205		reset {
206			label = "PB_RST";
207			gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
208			linux,code = <0x100>;
209			wakeup-source;
210		};
211
212		user {
213			label = "PB_USER";
214			gpios = <&pioE 31 GPIO_ACTIVE_HIGH>;
215			linux,code = <0x101>;
216			wakeup-source;
217		};
218	};
219
220	pwm_leds {
221		compatible = "pwm-leds";
222
223		blue {
224			label = "pwm:blue:user";
225			pwms = <&pwm0 2 10000000 0>;
226			max-brightness = <255>;
227			linux,default-trigger = "default-on";
228		};
229
230		green {
231			label = "pwm:green:user";
232			pwms = <&pwm0 1 10000000 0>;
233			max-brightness = <255>;
234			linux,default-trigger = "default-on";
235		};
236
237		red {
238			label = "pwm:red:user";
239			pwms = <&pwm0 0 10000000 0>;
240			max-brightness = <255>;
241			linux,default-trigger = "default-on";
242		};
243	};
244};
245