Merge tag 'xfs-4.17-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / tegra20-colibri-512.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 #include "tegra20.dtsi"
3
4 / {
5         model = "Toradex Colibri T20 512MB";
6         compatible = "toradex,colibri_t20-512", "nvidia,tegra20";
7
8         aliases {
9                 rtc0 = "/i2c@7000d000/tps6586x@34";
10                 rtc1 = "/rtc@7000e000";
11         };
12
13         memory {
14                 reg = <0x00000000 0x20000000>;
15         };
16
17         host1x@50000000 {
18                 hdmi@54280000 {
19                         vdd-supply = <&hdmi_vdd_reg>;
20                         pll-supply = <&hdmi_pll_reg>;
21
22                         nvidia,ddc-i2c-bus = <&i2c_ddc>;
23                         nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7)
24                                 GPIO_ACTIVE_HIGH>;
25                 };
26         };
27
28         pinmux@70000014 {
29                 pinctrl-names = "default";
30                 pinctrl-0 = <&state_default>;
31
32                 state_default: pinmux {
33                         audio_refclk {
34                                 nvidia,pins = "cdev1";
35                                 nvidia,function = "plla_out";
36                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
37                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
38                         };
39                         crt {
40                                 nvidia,pins = "crtp";
41                                 nvidia,function = "crt";
42                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
43                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
44                         };
45                         dap3 {
46                                 nvidia,pins = "dap3";
47                                 nvidia,function = "dap3";
48                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
49                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
50                         };
51                         displaya {
52                                 nvidia,pins = "ld0", "ld1", "ld2", "ld3",
53                                         "ld4", "ld5", "ld6", "ld7", "ld8",
54                                         "ld9", "ld10", "ld11", "ld12", "ld13",
55                                         "ld14", "ld15", "ld16", "ld17",
56                                         "lhs", "lpw0", "lpw2", "lsc0",
57                                         "lsc1", "lsck", "lsda", "lspi", "lvs";
58                                 nvidia,function = "displaya";
59                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
60                         };
61                         gpio_dte {
62                                 nvidia,pins = "dte";
63                                 nvidia,function = "rsvd1";
64                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
65                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
66                         };
67                         gpio_gmi {
68                                 nvidia,pins = "ata", "atc", "atd", "ate",
69                                         "dap1", "dap2", "dap4", "gpu", "irrx",
70                                         "irtx", "spia", "spib", "spic";
71                                 nvidia,function = "gmi";
72                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
73                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
74                         };
75                         gpio_pta {
76                                 nvidia,pins = "pta";
77                                 nvidia,function = "rsvd4";
78                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
79                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
80                         };
81                         gpio_uac {
82                                 nvidia,pins = "uac";
83                                 nvidia,function = "rsvd2";
84                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
85                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
86                         };
87                         hdint {
88                                 nvidia,pins = "hdint";
89                                 nvidia,function = "hdmi";
90                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
91                         };
92                         i2c1 {
93                                 nvidia,pins = "rm";
94                                 nvidia,function = "i2c1";
95                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
96                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
97                         };
98                         i2c3 {
99                                 nvidia,pins = "dtf";
100                                 nvidia,function = "i2c3";
101                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
102                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
103                         };
104                         i2cddc {
105                                 nvidia,pins = "ddc";
106                                 nvidia,function = "i2c2";
107                                 nvidia,pull = <TEGRA_PIN_PULL_UP>;
108                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
109                         };
110                         i2cp {
111                                 nvidia,pins = "i2cp";
112                                 nvidia,function = "i2cp";
113                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
114                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
115                         };
116                         irda {
117                                 nvidia,pins = "uad";
118                                 nvidia,function = "irda";
119                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
120                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
121                         };
122                         nand {
123                                 nvidia,pins = "kbca", "kbcc", "kbcd",
124                                         "kbce", "kbcf";
125                                 nvidia,function = "nand";
126                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
127                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
128                         };
129                         owc {
130                                 nvidia,pins = "owc";
131                                 nvidia,function = "owr";
132                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
133                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
134                         };
135                         pmc {
136                                 nvidia,pins = "pmc";
137                                 nvidia,function = "pwr_on";
138                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
139                         };
140                         pwm {
141                                 nvidia,pins = "sdb", "sdc", "sdd";
142                                 nvidia,function = "pwm";
143                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
144                         };
145                         sdio4 {
146                                 nvidia,pins = "atb", "gma", "gme";
147                                 nvidia,function = "sdio4";
148                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
149                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
150                         };
151                         spi1 {
152                                 nvidia,pins = "spid", "spie", "spif";
153                                 nvidia,function = "spi1";
154                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
155                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
156                         };
157                         spi4 {
158                                 nvidia,pins = "slxa", "slxc", "slxd", "slxk";
159                                 nvidia,function = "spi4";
160                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
161                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
162                         };
163                         uarta {
164                                 nvidia,pins = "sdio1";
165                                 nvidia,function = "uarta";
166                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
167                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
168                         };
169                         uartd {
170                                 nvidia,pins = "gmc";
171                                 nvidia,function = "uartd";
172                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
173                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
174                         };
175                         ulpi {
176                                 nvidia,pins = "uaa", "uab", "uda";
177                                 nvidia,function = "ulpi";
178                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
179                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
180                         };
181                         ulpi_refclk {
182                                 nvidia,pins = "cdev2";
183                                 nvidia,function = "pllp_out4";
184                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
185                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
186                         };
187                         usb_gpio {
188                                 nvidia,pins = "spig", "spih";
189                                 nvidia,function = "spi2_alt";
190                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
191                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
192                         };
193                         vi {
194                                 nvidia,pins = "dta", "dtb", "dtc", "dtd";
195                                 nvidia,function = "vi";
196                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
197                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
198                         };
199                         vi_sc {
200                                 nvidia,pins = "csus";
201                                 nvidia,function = "vi_sensor_clk";
202                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
203                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
204                         };
205                 };
206         };
207
208         ac97: ac97@70002000 {
209                 status = "okay";
210                 nvidia,codec-reset-gpio = <&gpio TEGRA_GPIO(V, 0)
211                         GPIO_ACTIVE_HIGH>;
212                 nvidia,codec-sync-gpio = <&gpio TEGRA_GPIO(P, 0)
213                         GPIO_ACTIVE_HIGH>;
214         };
215
216         /*
217          * GEN1_I2C: I2C_SDA/SCL on SODIMM pin 194/196 (e.g. RTC on carrier
218          * board)
219          */
220         i2c@7000c000 {
221                 clock-frequency = <400000>;
222         };
223
224         /* DDC_SCL/SDA on X3 pin 15/16 (e.g. display EDID) */
225         i2c_ddc: i2c@7000c400 {
226                 clock-frequency = <10000>;
227         };
228
229         /* GEN2_I2C: unused */
230
231         /* CAM/GEN3_I2C: used as EXT_IO1/2 GPIOs on SODIMM pin 133/127 */
232
233         /* PWR_I2C: power I2C to PMIC and temperature sensor (On-module) */
234         i2c@7000d000 {
235                 status = "okay";
236                 clock-frequency = <100000>;
237
238                 pmic: tps6586x@34 {
239                         compatible = "ti,tps6586x";
240                         reg = <0x34>;
241                         interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
242
243                         ti,system-power-controller;
244
245                         #gpio-cells = <2>;
246                         gpio-controller;
247
248                         sys-supply = <&vdd_3v3_reg>;
249                         vin-sm0-supply = <&sys_reg>;
250                         vin-sm1-supply = <&sys_reg>;
251                         vin-sm2-supply = <&sys_reg>;
252                         vinldo01-supply = <&sm2_reg>;
253                         vinldo23-supply = <&vdd_3v3_reg>;
254                         vinldo4-supply = <&vdd_3v3_reg>;
255                         vinldo678-supply = <&vdd_3v3_reg>;
256                         vinldo9-supply = <&vdd_3v3_reg>;
257
258                         regulators {
259                                 #address-cells = <1>;
260                                 #size-cells = <0>;
261
262                                 sys_reg: regulator@0 {
263                                         reg = <0>;
264                                         regulator-compatible = "sys";
265                                         regulator-name = "vdd_sys";
266                                         regulator-always-on;
267                                 };
268
269                                 regulator@1 {
270                                         reg = <1>;
271                                         regulator-compatible = "sm0";
272                                         regulator-name = "vdd_sm0,vdd_core";
273                                         regulator-min-microvolt = <1200000>;
274                                         regulator-max-microvolt = <1200000>;
275                                         regulator-always-on;
276                                 };
277
278                                 regulator@2 {
279                                         reg = <2>;
280                                         regulator-compatible = "sm1";
281                                         regulator-name = "vdd_sm1,vdd_cpu";
282                                         regulator-min-microvolt = <1000000>;
283                                         regulator-max-microvolt = <1000000>;
284                                         regulator-always-on;
285                                 };
286
287                                 sm2_reg: regulator@3 {
288                                         reg = <3>;
289                                         regulator-compatible = "sm2";
290                                         regulator-name = "vdd_sm2,vin_ldo*";
291                                         regulator-min-microvolt = <1800000>;
292                                         regulator-max-microvolt = <1800000>;
293                                         regulator-always-on;
294                                 };
295
296                                 /* LDO0 is not connected to anything */
297
298                                 regulator@5 {
299                                         reg = <5>;
300                                         regulator-compatible = "ldo1";
301                                         regulator-name = "vdd_ldo1,avdd_pll*";
302                                         regulator-min-microvolt = <1100000>;
303                                         regulator-max-microvolt = <1100000>;
304                                         regulator-always-on;
305                                 };
306
307                                 regulator@6 {
308                                         reg = <6>;
309                                         regulator-compatible = "ldo2";
310                                         regulator-name = "vdd_ldo2,vdd_rtc";
311                                         regulator-min-microvolt = <1200000>;
312                                         regulator-max-microvolt = <1200000>;
313                                 };
314
315                                 /* LDO3 is not connected to anything */
316
317                                 regulator@8 {
318                                         reg = <8>;
319                                         regulator-compatible = "ldo4";
320                                         regulator-name = "vdd_ldo4,avdd_osc,vddio_sys";
321                                         regulator-min-microvolt = <1800000>;
322                                         regulator-max-microvolt = <1800000>;
323                                         regulator-always-on;
324                                 };
325
326                                 ldo5_reg: regulator@9 {
327                                         reg = <9>;
328                                         regulator-compatible = "ldo5";
329                                         regulator-name = "vdd_ldo5,vdd_fuse";
330                                         regulator-min-microvolt = <3300000>;
331                                         regulator-max-microvolt = <3300000>;
332                                         regulator-always-on;
333                                 };
334
335                                 regulator@10 {
336                                         reg = <10>;
337                                         regulator-compatible = "ldo6";
338                                         regulator-name = "vdd_ldo6,avdd_vdac,vddio_vi,vddio_cam";
339                                         regulator-min-microvolt = <2850000>;
340                                         regulator-max-microvolt = <2850000>;
341                                 };
342
343                                 hdmi_vdd_reg: regulator@11 {
344                                         reg = <11>;
345                                         regulator-compatible = "ldo7";
346                                         regulator-name = "vdd_ldo7,avdd_hdmi";
347                                         regulator-min-microvolt = <3300000>;
348                                         regulator-max-microvolt = <3300000>;
349                                 };
350
351                                 hdmi_pll_reg: regulator@12 {
352                                         reg = <12>;
353                                         regulator-compatible = "ldo8";
354                                         regulator-name = "vdd_ldo8,avdd_hdmi_pll";
355                                         regulator-min-microvolt = <1800000>;
356                                         regulator-max-microvolt = <1800000>;
357                                 };
358
359                                 regulator@13 {
360                                         reg = <13>;
361                                         regulator-compatible = "ldo9";
362                                         regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx";
363                                         regulator-min-microvolt = <2850000>;
364                                         regulator-max-microvolt = <2850000>;
365                                         regulator-always-on;
366                                 };
367
368                                 regulator@14 {
369                                         reg = <14>;
370                                         regulator-compatible = "ldo_rtc";
371                                         regulator-name = "vdd_rtc_out,vdd_cell";
372                                         regulator-min-microvolt = <3300000>;
373                                         regulator-max-microvolt = <3300000>;
374                                         regulator-always-on;
375                                 };
376                         };
377                 };
378
379                 temperature-sensor@4c {
380                         compatible = "national,lm95245";
381                         reg = <0x4c>;
382                 };
383         };
384
385         pmc@7000e400 {
386                 nvidia,suspend-mode = <1>;
387                 nvidia,cpu-pwr-good-time = <5000>;
388                 nvidia,cpu-pwr-off-time = <5000>;
389                 nvidia,core-pwr-good-time = <3845 3845>;
390                 nvidia,core-pwr-off-time = <3875>;
391                 nvidia,sys-clock-req-active-high;
392         };
393
394         memory-controller@7000f400 {
395                 emc-table@83250 {
396                         reg = <83250>;
397                         compatible = "nvidia,tegra20-emc-table";
398                         clock-frequency = <83250>;
399                         nvidia,emc-registers =   <0x00000005 0x00000011
400                                 0x00000004 0x00000002 0x00000004 0x00000004
401                                 0x00000001 0x0000000a 0x00000002 0x00000002
402                                 0x00000001 0x00000001 0x00000003 0x00000004
403                                 0x00000003 0x00000009 0x0000000c 0x0000025f
404                                 0x00000000 0x00000003 0x00000003 0x00000002
405                                 0x00000002 0x00000001 0x00000008 0x000000c8
406                                 0x00000003 0x00000005 0x00000003 0x0000000c
407                                 0x00000002 0x00000000 0x00000000 0x00000002
408                                 0x00000000 0x00000000 0x00000083 0x00520006
409                                 0x00000010 0x00000008 0x00000000 0x00000000
410                                 0x00000000 0x00000000 0x00000000 0x00000000>;
411                 };
412                 emc-table@133200 {
413                         reg = <133200>;
414                         compatible = "nvidia,tegra20-emc-table";
415                         clock-frequency = <133200>;
416                         nvidia,emc-registers =   <0x00000008 0x00000019
417                                 0x00000006 0x00000002 0x00000004 0x00000004
418                                 0x00000001 0x0000000a 0x00000002 0x00000002
419                                 0x00000002 0x00000001 0x00000003 0x00000004
420                                 0x00000003 0x00000009 0x0000000c 0x0000039f
421                                 0x00000000 0x00000003 0x00000003 0x00000002
422                                 0x00000002 0x00000001 0x00000008 0x000000c8
423                                 0x00000003 0x00000007 0x00000003 0x0000000c
424                                 0x00000002 0x00000000 0x00000000 0x00000002
425                                 0x00000000 0x00000000 0x00000083 0x00510006
426                                 0x00000010 0x00000008 0x00000000 0x00000000
427                                 0x00000000 0x00000000 0x00000000 0x00000000>;
428                 };
429                 emc-table@166500 {
430                         reg = <166500>;
431                         compatible = "nvidia,tegra20-emc-table";
432                         clock-frequency = <166500>;
433                         nvidia,emc-registers =   <0x0000000a 0x00000021
434                                 0x00000008 0x00000003 0x00000004 0x00000004
435                                 0x00000002 0x0000000a 0x00000003 0x00000003
436                                 0x00000002 0x00000001 0x00000003 0x00000004
437                                 0x00000003 0x00000009 0x0000000c 0x000004df
438                                 0x00000000 0x00000003 0x00000003 0x00000003
439                                 0x00000003 0x00000001 0x00000009 0x000000c8
440                                 0x00000003 0x00000009 0x00000004 0x0000000c
441                                 0x00000002 0x00000000 0x00000000 0x00000002
442                                 0x00000000 0x00000000 0x00000083 0x004f0006
443                                 0x00000010 0x00000008 0x00000000 0x00000000
444                                 0x00000000 0x00000000 0x00000000 0x00000000>;
445                 };
446                 emc-table@333000 {
447                         reg = <333000>;
448                         compatible = "nvidia,tegra20-emc-table";
449                         clock-frequency = <333000>;
450                         nvidia,emc-registers =   <0x00000014 0x00000041
451                                 0x0000000f 0x00000005 0x00000004 0x00000005
452                                 0x00000003 0x0000000a 0x00000005 0x00000005
453                                 0x00000004 0x00000001 0x00000003 0x00000004
454                                 0x00000003 0x00000009 0x0000000c 0x000009ff
455                                 0x00000000 0x00000003 0x00000003 0x00000005
456                                 0x00000005 0x00000001 0x0000000e 0x000000c8
457                                 0x00000003 0x00000011 0x00000006 0x0000000c
458                                 0x00000002 0x00000000 0x00000000 0x00000002
459                                 0x00000000 0x00000000 0x00000083 0x00380006
460                                 0x00000010 0x00000008 0x00000000 0x00000000
461                                 0x00000000 0x00000000 0x00000000 0x00000000>;
462                 };
463         };
464
465         usb@c5004000 {
466                 status = "okay";
467                 nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 1)
468                         GPIO_ACTIVE_LOW>;
469         };
470
471         usb-phy@c5004000 {
472                 status = "okay";
473                 nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 1)
474                         GPIO_ACTIVE_LOW>;
475         };
476
477         sdhci@c8000600 {
478                 cd-gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_LOW>;
479         };
480
481         clocks {
482                 compatible = "simple-bus";
483                 #address-cells = <1>;
484                 #size-cells = <0>;
485
486                 clk32k_in: clock@0 {
487                         compatible = "fixed-clock";
488                         reg = <0>;
489                         #clock-cells = <0>;
490                         clock-frequency = <32768>;
491                 };
492         };
493
494         regulators {
495                 compatible = "simple-bus";
496                 #address-cells = <1>;
497                 #size-cells = <0>;
498
499                 vdd_3v3_reg: regulator@100 {
500                         compatible = "regulator-fixed";
501                         reg = <100>;
502                         regulator-name = "vdd_3v3";
503                         regulator-min-microvolt = <3300000>;
504                         regulator-max-microvolt = <3300000>;
505                         regulator-always-on;
506                 };
507
508                 regulator@101 {
509                         compatible = "regulator-fixed";
510                         reg = <101>;
511                         regulator-name = "internal_usb";
512                         regulator-min-microvolt = <5000000>;
513                         regulator-max-microvolt = <5000000>;
514                         enable-active-high;
515                         regulator-boot-on;
516                         regulator-always-on;
517                         gpio = <&gpio TEGRA_GPIO(BB, 1) GPIO_ACTIVE_HIGH>;
518                 };
519         };
520
521         sound {
522                 compatible = "nvidia,tegra-audio-wm9712-colibri_t20",
523                                  "nvidia,tegra-audio-wm9712";
524                 nvidia,model = "Colibri T20 AC97 Audio";
525
526                 nvidia,audio-routing =
527                         "Headphone", "HPOUTL",
528                         "Headphone", "HPOUTR",
529                         "LineIn", "LINEINL",
530                         "LineIn", "LINEINR",
531                         "Mic", "MIC1";
532
533                 nvidia,ac97-controller = <&ac97>;
534
535                 clocks = <&tegra_car TEGRA20_CLK_PLL_A>,
536                          <&tegra_car TEGRA20_CLK_PLL_A_OUT0>,
537                          <&tegra_car TEGRA20_CLK_CDEV1>;
538                 clock-names = "pll_a", "pll_a_out0", "mclk";
539         };
540 };