blob: fcf31e2dd096bcc7008706435dd8f967dc0c939e [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
74 backlight: backlight {
75 compatible = "pwm-backlight";
76
77 enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
78 power-supply = <&vdd_5v0_bl>;
79 pwms = <&pwm 0 50000>;
80
81 brightness-levels = <1 35 70 105 140 175 210 255>;
82 default-brightness-level = <5>;
83 };
84
85 /* PMIC has a built-in 32KHz oscillator which is used by PMC */
86 clk32k_in: clock-32k {
87 compatible = "fixed-clock";
88 #clock-cells = <0>;
89 clock-frequency = <32768>;
90 clock-output-names = "pmic-oscillator";
91 };
92
93 gpio-keys {
94 compatible = "gpio-keys";
95
96 key-power {
97 label = "Power";
98 gpios = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
99 linux,code = <KEY_ENTER>;
100 };
101
102 key-volume-up {
103 label = "Volume Up";
104 gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_LOW>;
105 linux,code = <KEY_UP>;
106 };
107
108 key-volume-down {
109 label = "Volume Down";
110 gpios = <&gpio TEGRA_GPIO(Q, 3) GPIO_ACTIVE_LOW>;
111 linux,code = <KEY_DOWN>;
112 };
113 };
114
115 panel: panel {
116 compatible = "simple-panel";
117
118 power-supply = <&vdd_pnl_reg>;
119 enable-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>;
120
121 backlight = <&backlight>;
122
123 display-timings {
124 timing@0 {
125 /* 1280x800@60Hz */
126 clock-frequency = <68000000>;
127
128 hactive = <800>;
129 hfront-porch = <24>;
130 hback-porch = <32>;
131 hsync-len = <24>;
132
133 vactive = <1280>;
134 vfront-porch = <5>;
135 vback-porch = <32>;
136 vsync-len = <1>;
137 };
138 };
139 };
140
141 vdd_pnl_reg: regulator-pnl {
142 compatible = "regulator-fixed";
143 regulator-name = "vdd_panel";
144 regulator-min-microvolt = <3300000>;
145 regulator-max-microvolt = <3300000>;
146 gpio = <&gpio TEGRA_GPIO(W, 1) GPIO_ACTIVE_HIGH>;
147 enable-active-high;
148 };
149
150 vdd_5v0_bl: regulator-bl {
151 compatible = "regulator-fixed";
152 regulator-name = "vdd_5v0_bl";
153 regulator-min-microvolt = <5000000>;
154 regulator-max-microvolt = <5000000>;
Svyatoslav Ryhel88fd1562023-06-30 10:29:04 +0300155 gpio = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
156 enable-active-high;
157 };
158};