Merge branch 'for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
[linux-2.6-microblaze.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 "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                 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 = <&amp>;
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 };