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	gpio-keys {
20		compatible = "gpio-keys";
21
22		wakeup {
23			label = "Wakeup";
24			linux,code = <10>;
25			wakeup-source;
26			gpios = <&pioB 27 GPIO_ACTIVE_LOW>;
27		};
28	};
29
30	panel_reg: panel-regulator {
31		compatible = "regulator-fixed";
32		regulator-name = "panel-VCC";
33		regulator-min-microvolt = <3300000>;
34		regulator-max-microvolt = <3300000>;
35	};
36
37	bl_reg: backlight-regulator {
38		compatible = "regulator-fixed";
39		regulator-name = "panel-VDD";
40		regulator-min-microvolt = <12000000>;
41		regulator-max-microvolt = <12000000>;
42	};
43
44	panel_bl: backlight {
45		compatible = "pwm-backlight";
46		pwms = <&hlcdc_pwm 0 100000 0>;
47
48		brightness-levels = < 0  1  2  3  4  5  6  7  8  9
49				     10 11 12 13 14 15 16 17 18 19
50				     20 21 22 23 24 25 26 27 28 29
51				     30 31 32 33 34 35 36 37 38 39
52				     40 41 42 43 44 45 46 47 48 49
53				     50 51 52 53 54 55 56 57 58 59
54				     60 61 62 63 64 65 66 67 68 69
55				     70 71 72 73 74 75 76 77 78 79
56				     80 81 82 83 84 85 86 87 88 89
57				     90 91 92 93 94 95 96 97 98 99
58				    100>;
59		default-brightness-level = <40>;
60
61		power-supply = <&bl_reg>;
62		enable-gpios = <&pioA 20 GPIO_ACTIVE_HIGH>;
63		pinctrl-names = "default";
64		pinctrl-0 = <&pinctrl_blon>;
65	};
66
67	panel: panel {
68		compatible = "sharp,lq150x1lg11", "panel-lvds";
69
70		backlight = <&panel_bl>;
71		power-supply = <&panel_reg>;
72
73		width-mm = <304>;
74		height-mm = <228>;
75
76		data-mapping = "jeida-18";
77
78		panel-timing {
79			// 1024x768 @ 60Hz (typical)
80			clock-frequency = <50000000 65000000 80000000>;
81			hactive = <1024>;
82			vactive = <768>;
83			hfront-porch = <48 88 88>;
84			hback-porch = <96 168 168>;
85			hsync-len = <32 64 64>;
86			vsync-len = <3 13 74>;
87			vfront-porch = <3 13 74>;
88			vback-porch = <3 12 74>;
89		};
90
91		port {
92			panel_input: endpoint {
93				remote-endpoint = <&lvds_encoder_output>;
94			};
95		};
96	};
97
98	lvds-encoder {
99		compatible = "ti,ds90c185", "lvds-encoder";
100
101		pinctrl-names = "default";
102		pinctrl-0 = <&pinctrl_lvds_prlud0 &pinctrl_lvds_hipow0>;
103
104		ports {
105			#address-cells = <1>;
106			#size-cells = <0>;
107
108			port@0 {
109				reg = <0>;
110
111				lvds_encoder_input: endpoint {
112					remote-endpoint = <&hlcdc_output>;
113				};
114			};
115
116			port@1 {
117				reg = <1>;
118
119				lvds_encoder_output: endpoint {
120					remote-endpoint = <&panel_input>;
121				};
122			};
123		};
124	};
125
126	sound {
127		compatible = "simple-audio-card";
128
129		simple-audio-card,name = "nattis-tfa9879";
130		simple-audio-card,format = "i2s";
131		simple-audio-card,bitclock-master = <&cpu_dai>;
132		simple-audio-card,frame-master = <&cpu_dai>;
133		simple-audio-card,widgets = "Line", "Line Out Jack";
134		simple-audio-card,routing = "Line Out Jack", "LINEOUT";
135
136		cpu_dai: simple-audio-card,cpu {
137			sound-dai = <&ssc0>;
138		};
139
140		simple-audio-card,codec {
141			sound-dai = <&amp>;
142		};
143	};
144};
145
146&pinctrl {
147	nattis {
148		pinctrl_usba_vbus: usba_vbus {
149			atmel,pins = <AT91_PIOD 28 AT91_PERIPH_GPIO
150				      AT91_PINCTRL_DEGLITCH>;
151		};
152
153		pinctrl_mmc0_cd: mmc0_cd {
154			atmel,pins = <AT91_PIOD  5 AT91_PERIPH_GPIO
155				      AT91_PINCTRL_PULL_UP_DEGLITCH>;
156		};
157
158		pinctrl_lvds_prlud0: lvds_prlud0 {
159			atmel,pins = <AT91_PIOA 21 AT91_PERIPH_GPIO
160				      (AT91_PINCTRL_OUTPUT |
161				       AT91_PINCTRL_OUTPUT_VAL(0))>;
162		};
163
164		pinctrl_lvds_hipow0: lvds_hipow0 {
165			atmel,pins = <AT91_PIOA 23 AT91_PERIPH_GPIO
166				      (AT91_PINCTRL_OUTPUT |
167				       AT91_PINCTRL_OUTPUT_VAL(0))>;
168		};
169
170		pinctrl_blon: blon {
171			atmel,pins = <AT91_PIOA 20 AT91_PERIPH_GPIO
172				      (AT91_PINCTRL_OUTPUT |
173				       AT91_PINCTRL_OUTPUT_VAL(0))>;
174		};
175	};
176};
177
178&watchdog {
179	status = "okay";
180};
181
182&i2c0 {
183	status = "okay";
184
185	clock-frequency = <100000>;
186
187	temp@18 {
188		compatible = "nxp,se97b", "jedec,jc-42.4-temp";
189		reg = <0x18>;
190		smbus-timeout-disable;
191	};
192
193	eeprom@50 {
194		compatible = "nxp,se97b", "atmel,24c02";
195		reg = <0x50>;
196		pagesize = <16>;
197	};
198
199	amp: amplifier@6c {
200		 compatible = "nxp,tfa9879";
201		 reg = <0x6c>;
202		 #sound-dai-cells = <0>;
203	};
204};
205
206&ssc0 {
207	status = "okay";
208
209	atmel,clk-from-rk-pin;
210	#sound-dai-cells = <0>;
211};
212
213&hlcdc {
214	status = "okay";
215
216	hlcdc-display-controller {
217		pinctrl-names = "default";
218		pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb565>;
219
220		port@0 {
221			hlcdc_output: endpoint {
222				remote-endpoint = <&lvds_encoder_input>;
223				bus-width = <16>;
224			};
225		};
226	};
227};
228
229&mmc0 {
230	status = "okay";
231
232	pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0
233		     &pinctrl_mmc0_dat1_3
234		     &pinctrl_mmc0_cd>;
235
236	slot@0 {
237		reg = <0>;
238		bus-width = <4>;
239		cd-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
240		cd-inverted;
241	};
242};
243
244&usart0 {
245	status = "okay";
246
247	pinctrl-names = "default";
248	pinctrl-0 = <&pinctrl_usart0>;
249	atmel,use-dma-rx;
250};
251
252&nand {
253	partitions {
254		compatible = "fixed-partitions";
255		#address-cells = <1>;
256		#size-cells = <1>;
257
258		at91bootstrap@0 {
259			label = "at91bootstrap";
260			reg = <0x0 0x40000>;
261		};
262
263		barebox@40000 {
264			label = "barebox";
265			reg = <0x40000 0x60000>;
266		};
267
268		bareboxenv@c0000 {
269			label = "bareboxenv";
270			reg = <0xc0000 0x40000>;
271		};
272
273		bareboxenv2@100000 {
274			label = "bareboxenv2";
275			reg = <0x100000 0x40000>;
276		};
277
278		oftree@180000 {
279			label = "oftree";
280			reg = <0x180000 0x20000>;
281		};
282
283		kernel@200000 {
284			label = "kernel";
285			reg = <0x200000 0x500000>;
286		};
287
288		rootfs@800000 {
289			label = "rootfs";
290			reg = <0x800000 0x1f800000>;
291		};
292	};
293};
294
295&dbgu {
296	status = "okay";
297
298	atmel,use-dma-rx;
299};
300
301&usb0 {
302	status = "okay";
303
304	atmel,vbus-gpio = <&pioD 28 GPIO_ACTIVE_HIGH>;
305	pinctrl-names = "default";
306	pinctrl-0 = <&pinctrl_usba_vbus>;
307};
308