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