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 = <&lvds_encoder_output>;
113			};
114		};
115	};
116
117	lvds-encoder {
118		compatible = "lvds-encoder";
119
120		ports {
121			#address-cells = <1>;
122			#size-cells = <0>;
123
124			port@0 {
125				reg = <0>;
126
127				lvds_encoder_input: endpoint {
128					remote-endpoint = <&hlcdc_output>;
129				};
130			};
131
132			port@1 {
133				reg = <1>;
134
135				lvds_encoder_output: endpoint {
136					remote-endpoint = <&panel_input>;
137				};
138			};
139		};
140	};
141
142	sound {
143		compatible = "simple-audio-card";
144
145		simple-audio-card,name = "nattis-tfa9879";
146		simple-audio-card,format = "i2s";
147		simple-audio-card,bitclock-master = <&cpu_dai>;
148		simple-audio-card,frame-master = <&cpu_dai>;
149		simple-audio-card,widgets = "Line", "Line Out Jack";
150		simple-audio-card,routing = "Line Out Jack", "LINEOUT";
151
152		cpu_dai: simple-audio-card,cpu {
153			sound-dai = <&ssc0>;
154		};
155
156		simple-audio-card,codec {
157			sound-dai = <&amp>;
158		};
159	};
160};
161
162&i2c0 {
163	status = "okay";
164
165	clock-frequency = <100000>;
166
167	temp@18 {
168		compatible = "nxp,se97b", "jedec,jc-42.4-temp";
169		reg = <0x18>;
170		smbus-timeout-disable;
171	};
172
173	eeprom@50 {
174		compatible = "nxp,se97b", "atmel,24c02";
175		reg = <0x50>;
176		pagesize = <16>;
177	};
178
179	amp: amplifier@6c {
180		 compatible = "nxp,tfa9879";
181		 reg = <0x6c>;
182		 #sound-dai-cells = <0>;
183	};
184};
185
186&ssc0 {
187	status = "okay";
188
189	atmel,clk-from-rk-pin;
190	#sound-dai-cells = <0>;
191};
192
193&hlcdc {
194	status = "okay";
195
196	hlcdc-display-controller {
197		pinctrl-names = "default";
198		pinctrl-0 = <&pinctrl_lcd_base
199			     &pinctrl_lcd_rgb565
200			     &pinctrl_lcd_prlud0
201			     &pinctrl_lcd_hipow0>;
202
203		port@0 {
204			hlcdc_output: endpoint {
205				remote-endpoint = <&lvds_encoder_input>;
206			};
207		};
208	};
209};
210
211&mmc0 {
212	status = "okay";
213
214	pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0
215		     &pinctrl_mmc0_dat1_3
216		     &pinctrl_mmc0_cd>;
217
218	slot@0 {
219		reg = <0>;
220		bus-width = <4>;
221		cd-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
222	};
223};
224
225&usart0 {
226	status = "okay";
227
228	pinctrl-names = "default";
229	pinctrl-0 = <&pinctrl_usart0>;
230	atmel,use-dma-rx;
231};
232
233&nand {
234	partitions {
235		compatible = "fixed-partitions";
236		#address-cells = <1>;
237		#size-cells = <1>;
238
239		at91bootstrap@0 {
240			label = "at91bootstrap";
241			reg = <0x0 0x40000>;
242		};
243
244		barebox@40000 {
245			label = "barebox";
246			reg = <0x40000 0x60000>;
247		};
248
249		bareboxenv@c0000 {
250			label = "bareboxenv";
251			reg = <0xc0000 0x40000>;
252		};
253
254		bareboxenv2@100000 {
255			label = "bareboxenv2";
256			reg = <0x100000 0x40000>;
257		};
258
259		oftree@180000 {
260			label = "oftree";
261			reg = <0x180000 0x20000>;
262		};
263
264		kernel@200000 {
265			label = "kernel";
266			reg = <0x200000 0x500000>;
267		};
268
269		rootfs@800000 {
270			label = "rootfs";
271			reg = <0x800000 0x1f800000>;
272		};
273	};
274};
275
276&dbgu {
277	status = "okay";
278
279	atmel,use-dma-rx;
280};
281
282&usb0 {
283	status = "okay";
284
285	atmel,vbus-gpio = <&pioD 28 GPIO_ACTIVE_HIGH>;
286	pinctrl-names = "default";
287	pinctrl-0 = <&pinctrl_usba_vbus>;
288};
289