hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
// SPDX-License-Identifier: GPL-2.0
 
#include "tegra30-asus-nexus7-grouper-common.dtsi"
#include "tegra30-asus-nexus7-tilapia-memory-timings.dtsi"
 
/ {
   compatible = "asus,tilapia", "asus,grouper", "nvidia,tegra30";
 
   display-panel {
       enable-gpios = <&gpio TEGRA_GPIO(V, 6) GPIO_ACTIVE_HIGH>;
 
       panel-timing {
           clock-frequency = <81750000>;
           hactive = <800>;
           vactive = <1280>;
           hfront-porch = <64>;
           hback-porch = <128>;
           hsync-len = <64>;
           vsync-len = <1>;
           vfront-porch = <5>;
           vback-porch = <2>;
       };
   };
 
   gpio@6000d000 {
       init-mode-3g {
           gpio-hog;
           gpios =    <TEGRA_GPIO(D, 2) GPIO_ACTIVE_HIGH>,
               <TEGRA_GPIO(C, 6) GPIO_ACTIVE_HIGH>,
               <TEGRA_GPIO(W, 3) GPIO_ACTIVE_HIGH>,
               <TEGRA_GPIO(P, 1) GPIO_ACTIVE_HIGH>,
               <TEGRA_GPIO(X, 5) GPIO_ACTIVE_HIGH>,
               <TEGRA_GPIO(U, 5) GPIO_ACTIVE_HIGH>,
               <TEGRA_GPIO(X, 7) GPIO_ACTIVE_HIGH>,
               <TEGRA_GPIO(X, 0) GPIO_ACTIVE_HIGH>,
               <TEGRA_GPIO(EE, 1) GPIO_ACTIVE_HIGH>,
               <TEGRA_GPIO(Y, 2) GPIO_ACTIVE_HIGH>,
               <TEGRA_GPIO(Y, 3) GPIO_ACTIVE_HIGH>,
               <TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>,
               <TEGRA_GPIO(U, 4) GPIO_ACTIVE_HIGH>,
               <TEGRA_GPIO(U, 3) GPIO_ACTIVE_HIGH>,
               <TEGRA_GPIO(N, 1) GPIO_ACTIVE_HIGH>,
               <TEGRA_GPIO(N, 2) GPIO_ACTIVE_HIGH>,
               <TEGRA_GPIO(N, 0) GPIO_ACTIVE_HIGH>,
               <TEGRA_GPIO(N, 3) GPIO_ACTIVE_HIGH>;
           output-low;
       };
   };
 
   pinmux@70000868 {
       state_default: pinmux {
           lcd_dc1_pd2 {
               nvidia,pins = "lcd_dc1_pd2";
               nvidia,function = "displaya";
               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
           };
           lcd_pwr2_pc6 {
               nvidia,pins = "lcd_pwr2_pc6";
               nvidia,function = "displaya";
               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
           };
           spi2_cs2_n_pw3 {
               nvidia,pins = "spi2_cs2_n_pw3";
               nvidia,function = "spi2";
               nvidia,pull = <TEGRA_PIN_PULL_UP>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
           };
           dap3_din_pp1 {
               nvidia,pins = "dap3_din_pp1";
               nvidia,function = "i2s2";
               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
           };
           spi1_sck_px5 {
               nvidia,pins = "spi1_sck_px5";
               nvidia,function = "spi1";
               nvidia,pull = <TEGRA_PIN_PULL_UP>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
           };
           pu5 {
               nvidia,pins = "pu5";
               nvidia,function = "pwm2";
               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
           };
           spi1_miso_px7 {
               nvidia,pins = "spi1_miso_px7";
               nvidia,function = "spi1";
               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
           };
           spi2_mosi_px0 {
               nvidia,pins = "spi2_mosi_px0";
               nvidia,function = "spi2";
               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
           };
           clk3_req_pee1 {
               nvidia,pins = "clk3_req_pee1";
               nvidia,function = "dev3";
               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
           };
           ulpi_nxt_py2 {
               nvidia,pins = "ulpi_nxt_py2";
               nvidia,function = "uartd";
               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
           };
           ulpi_stp_py3 {
               nvidia,pins = "ulpi_stp_py3";
               nvidia,function = "uartd";
               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
           };
           kb_row7_pr7 {
               nvidia,pins = "kb_row7_pr7";
               nvidia,function = "kbc";
               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
           };
           pu4 {
               nvidia,pins = "pu4";
               nvidia,function = "pwm1";
               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
           };
           pu3 {
               nvidia,pins = "pu3";
               nvidia,function = "rsvd4";
               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
           };
           kb_row15_ps7 {
               nvidia,pins = "kb_row15_ps7";
               nvidia,function = "kbc";
               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
           };
           dap3_sclk_pp3 {
               nvidia,pins = "dap3_sclk_pp3";
               nvidia,function = "i2s2";
               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_DISABLE>;
           };
           kb_row3_pr3 {
               nvidia,pins = "kb_row3_pr3",
                       "kb_row13_ps5";
               nvidia,function = "kbc";
               nvidia,pull = <TEGRA_PIN_PULL_UP>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
           };
           kb_row13_ps5 {
               nvidia,pins = "kb_row13_ps5";
               nvidia,function = "kbc";
               nvidia,pull = <TEGRA_PIN_PULL_UP>;
               nvidia,tristate = <TEGRA_PIN_DISABLE>;
               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
           };
           gmi_wp_n_pc7 {
               nvidia,pins = "gmi_wp_n_pc7",
                       "gmi_wait_pi7",
                       "gmi_cs4_n_pk2",
                       "gmi_cs3_n_pk4";
               nvidia,function = "rsvd1";
               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
               nvidia,tristate = <TEGRA_PIN_ENABLE>;
               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
           };
           gmi_cs6_n_pi3 {
               nvidia,pins = "gmi_cs6_n_pi3";
               nvidia,function = "gmi";
               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
               nvidia,tristate = <TEGRA_PIN_ENABLE>;
               nvidia,enable-input = <TEGRA_PIN_ENABLE>;
           };
       };
   };
 
   i2c@7000c500 {
       proximity-sensor@28 {
           compatible = "microchip,cap1106";
           reg = <0x28>;
 
           /*
            * Binding doesn't support specifying linux,input-type
            * and this results in unwanted key-presses handled by
            * applications, hence keep it disabled for now.
            */
           status = "disabled";
 
           interrupt-parent = <&gpio>;
           interrupts = <TEGRA_GPIO(R, 3) IRQ_TYPE_LEVEL_HIGH>;
 
           linux,keycodes = <KEY_RESERVED>,
                    <KEY_RESERVED>,
                    <KEY_RESERVED>,
                    <KEY_RESERVED>,
                    <KEY_RESERVED>,
                    <SW_FRONT_PROXIMITY>;
       };
 
       nfc@2a {
           compatible = "nxp,pn544-i2c";
           reg = <0x2a>;
 
           clock-frequency = <100000>;
 
           interrupt-parent = <&gpio>;
           interrupts = <TEGRA_GPIO(S, 7) IRQ_TYPE_EDGE_RISING>;
 
           enable-gpios   = <&gpio TEGRA_GPIO(P, 0) GPIO_ACTIVE_HIGH>;
           firmware-gpios = <&gpio TEGRA_GPIO(P, 3) GPIO_ACTIVE_HIGH>;
       };
   };
};