blob: c9277388c9a3d7b2a913acd6df74f5ed6532dedb [file] [log] [blame]
Svyatoslav Ryhel88fd1562023-06-30 10:29:04 +03001// SPDX-License-Identifier: GPL-2.0
2
3#include <dt-bindings/input/input.h>
Svyatoslav Ryhel88fd1562023-06-30 10:29:04 +03004#include "tegra30.dtsi"
5
6/ {
7 chosen {
8 stdout-path = &uarta;
9 };
10
11 aliases {
12 i2c0 = &pwr_i2c;
13
14 mmc0 = &sdmmc4; /* eMMC */
15
16 rtc0 = &pmic;
17 rtc1 = "/rtc@7000e000";
18
19 usb0 = &usb1;
20 };
21
22 memory {
23 device_type = "memory";
24 reg = <0x80000000 0x40000000>;
25 };
26
27 host1x@50000000 {
28 dc@54200000 {
29 nvidia,180-rotation;
30 rgb {
31 status = "okay";
32
33 nvidia,panel = <&panel>;
34 };
35 };
36 };
37
38 gpio@6000d000 {
39 volume-buttons-hog {
40 gpio-hog;
41 gpios = <TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>,
42 <TEGRA_GPIO(Q, 0) GPIO_ACTIVE_HIGH>;
43 output-low;
44 };
45 };
46
47 uarta: serial@70006000 {
48 status = "okay";
49 };
50
51 pwm: pwm@7000a000 {
52 status = "okay";
53 };
54
55 pwr_i2c: i2c@7000d000 {
56 status = "okay";
57 clock-frequency = <400000>;
58 };
59
60 sdmmc4: sdhci@78000600 {
61 status = "okay";
62 bus-width = <8>;
63 non-removable;
Svyatoslav Ryhelcaa4a462023-10-03 09:36:41 +030064
65 vmmc-supply = <&vcore_emmc>;
66 vqmmc-supply = <&vdd_1v8_vio>;
Svyatoslav Ryhel88fd1562023-06-30 10:29:04 +030067 };
68
69 usb1: usb@7d000000 {
70 status = "okay";
71 dr_mode = "otg";
72 };
73
Svyatoslav Ryhel6c438612023-08-25 20:23:14 +030074 usb-phy@7d000000 {
75 status = "okay";
76 nvidia,hssync-start-delay = <0>;
77 nvidia,xcvr-lsfslew = <2>;
78 nvidia,xcvr-lsrslew = <2>;
79 };
80
Svyatoslav Ryhel88fd1562023-06-30 10:29:04 +030081 backlight: backlight {
82 compatible = "pwm-backlight";
83
84 enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
85 power-supply = <&vdd_5v0_bl>;
86 pwms = <&pwm 0 50000>;
87
88 brightness-levels = <1 35 70 105 140 175 210 255>;
89 default-brightness-level = <5>;
90 };
91
92 /* PMIC has a built-in 32KHz oscillator which is used by PMC */
93 clk32k_in: clock-32k {
94 compatible = "fixed-clock";
95 #clock-cells = <0>;
96 clock-frequency = <32768>;
97 clock-output-names = "pmic-oscillator";
98 };
99
100 gpio-keys {
101 compatible = "gpio-keys";
102
103 key-power {
104 label = "Power";
105 gpios = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
106 linux,code = <KEY_ENTER>;
107 };
108
109 key-volume-up {
110 label = "Volume Up";
111 gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_LOW>;
112 linux,code = <KEY_UP>;
113 };
114
115 key-volume-down {
116 label = "Volume Down";
117 gpios = <&gpio TEGRA_GPIO(Q, 3) GPIO_ACTIVE_LOW>;
118 linux,code = <KEY_DOWN>;
119 };
120 };
121
122 panel: panel {
123 compatible = "simple-panel";
124
125 power-supply = <&vdd_pnl_reg>;
126 enable-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>;
127
128 backlight = <&backlight>;
129
130 display-timings {
131 timing@0 {
132 /* 1280x800@60Hz */
133 clock-frequency = <68000000>;
134
135 hactive = <800>;
136 hfront-porch = <24>;
137 hback-porch = <32>;
138 hsync-len = <24>;
139
140 vactive = <1280>;
141 vfront-porch = <5>;
142 vback-porch = <32>;
143 vsync-len = <1>;
144 };
145 };
146 };
147
148 vdd_pnl_reg: regulator-pnl {
149 compatible = "regulator-fixed";
150 regulator-name = "vdd_panel";
151 regulator-min-microvolt = <3300000>;
152 regulator-max-microvolt = <3300000>;
153 gpio = <&gpio TEGRA_GPIO(W, 1) GPIO_ACTIVE_HIGH>;
154 enable-active-high;
155 };
156
157 vdd_5v0_bl: regulator-bl {
158 compatible = "regulator-fixed";
159 regulator-name = "vdd_5v0_bl";
160 regulator-min-microvolt = <5000000>;
161 regulator-max-microvolt = <5000000>;
Svyatoslav Ryhel88fd1562023-06-30 10:29:04 +0300162 gpio = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
163 enable-active-high;
164 };
165};