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 "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 = <&>;
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};
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};