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