aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/tegra114-tn7.dts
diff options
context:
space:
mode:
authorAlexandre Courbot <acourbot@nvidia.com>2014-05-02 03:59:08 -0400
committerStephen Warren <swarren@nvidia.com>2014-05-02 14:17:11 -0400
commit6f3df63ffb8b5d1634646fbeb3a018fcbb11e596 (patch)
tree6c6a312e9aafd1503fd1153b1908da3de504baef /arch/arm/boot/dts/tegra114-tn7.dts
parentcffb57e62394f6ae3f86b9dc1d9bb59d44a15a20 (diff)
ARM: tegra: add Tegra Note 7 device tree
Tegra Note 7 is a consumer tablet embedding a Tegra 4 SoC with 1GB RAM and a 720p panel. The following hardware is enabled by this device tree: UART, eMMC, USB (needs external power), PMIC, backlight, DSI panel, keys. SD card, HDMI, charger, self-powered USB, audio, wifi, bluetooth are not yet supported but might be by future patches (likely in that order). Touch panel, sensors & cameras will probably never be supported. Pinctrl is not set yet, as the bootloader-provided values allow us to use the currently supported hardware. Initrd addresses are hardcoded to match the static values used by the bootloader, since it won't add them for us. All the same, a kernel command-line is provided to replace the one passed by the bootloader which is filled with garbage. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> [treding@nvidia.com: DT fixes, DSI panel support] Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
Diffstat (limited to 'arch/arm/boot/dts/tegra114-tn7.dts')
-rw-r--r--arch/arm/boot/dts/tegra114-tn7.dts348
1 files changed, 348 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/tegra114-tn7.dts b/arch/arm/boot/dts/tegra114-tn7.dts
new file mode 100644
index 000000000000..963662145635
--- /dev/null
+++ b/arch/arm/boot/dts/tegra114-tn7.dts
@@ -0,0 +1,348 @@
1/dts-v1/;
2
3#include <dt-bindings/input/input.h>
4#include "tegra114.dtsi"
5
6/ {
7 model = "Tegra Note 7";
8 compatible = "nvidia,tn7", "nvidia,tegra114";
9
10 chosen {
11 /* TN7's bootloader's arguments need to be overridden */
12 bootargs = "console=ttyS0,115200n8 console=tty1 gpt fbcon=rotate:2";
13 /* TN7's bootloader will place initrd at this address */
14 linux,initrd-start = <0x82000000>;
15 linux,initrd-end = <0x82800000>;
16 };
17
18 firmware {
19 trusted-foundations {
20 compatible = "tlm,trusted-foundations";
21 tlm,version-major = <2>;
22 tlm,version-minor = <8>;
23 };
24 };
25
26 memory {
27 /* memory >= 0x37e00000 is reserved for firmware usage */
28 reg = <0x80000000 0x37e00000>;
29 };
30
31 host1x@50000000 {
32 dsi@54300000 {
33 status = "okay";
34
35 vdd-supply = <&vdd_1v2_ap>;
36
37 panel@0 {
38 compatible = "lg,ld070wx3-sl01";
39 reg = <0>;
40
41 power-supply = <&vdd_lcd>;
42 backlight = <&backlight>;
43 };
44 };
45 };
46
47 serial@70006300 {
48 status = "okay";
49 };
50
51 pwm@7000a000 {
52 status = "okay";
53 };
54
55 i2c@7000d000 {
56 status = "okay";
57 clock-frequency = <400000>;
58
59 palmas: pmic@58 {
60 compatible = "ti,palmas";
61 reg = <0x58>;
62 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_LOW>;
63
64 #interrupt-cells = <2>;
65 interrupt-controller;
66
67 ti,system-power-controller;
68
69 palmas_gpio: gpio {
70 compatible = "ti,palmas-gpio";
71 gpio-controller;
72 #gpio-cells = <2>;
73 };
74
75 pmic {
76 compatible = "ti,tps65913-pmic", "ti,palmas-pmic";
77
78 ldoln-in-supply = <&vdd_smps10_out2>;
79
80 regulators {
81 smps123 {
82 regulator-name = "vd-cpu";
83 regulator-min-microvolt = <1000000>;
84 regulator-max-microvolt = <1000000>;
85 regulator-always-on;
86 regulator-boot-on;
87 };
88
89 smps45 {
90 regulator-name = "vd-soc";
91 regulator-min-microvolt = <1100000>;
92 regulator-max-microvolt = <1100000>;
93 regulator-always-on;
94 regulator-boot-on;
95 };
96
97 smps6 {
98 regulator-name = "va-lcd-hv";
99 regulator-min-microvolt = <3000000>;
100 regulator-max-microvolt = <3000000>;
101 regulator-always-on;
102 regulator-boot-on;
103 };
104
105 smps7 {
106 regulator-name = "vd-ddr";
107 regulator-min-microvolt = <1350000>;
108 regulator-max-microvolt = <1350000>;
109 regulator-always-on;
110 regulator-boot-on;
111 };
112
113 vdd_1v8: smps8 {
114 regulator-name = "vs-pmu-1v8";
115 regulator-min-microvolt = <1800000>;
116 regulator-max-microvolt = <1800000>;
117 regulator-always-on;
118 regulator-boot-on;
119 };
120
121 vdd_2v9_sys: smps9 {
122 regulator-name = "vs-sys-2v9";
123 regulator-min-microvolt = <2900000>;
124 regulator-max-microvolt = <2900000>;
125 regulator-always-on;
126 regulator-boot-on;
127 };
128
129 vdd_smps10_out1: smps10_out1 {
130 regulator-name = "vd-smps10-out1";
131 regulator-min-microvolt = <5000000>;
132 regulator-max-microvolt = <5000000>;
133 regulator-always-on;
134 regulator-boot-on;
135 };
136
137 vdd_smps10_out2: smps10_out2 {
138 regulator-name = "vd-smps10-out2";
139 regulator-min-microvolt = <5000000>;
140 regulator-max-microvolt = <5000000>;
141 regulator-always-on;
142 regulator-boot-on;
143 };
144
145 ldo1 {
146 regulator-name = "va-pllx";
147 regulator-min-microvolt = <1050000>;
148 regulator-max-microvolt = <1050000>;
149 regulator-always-on;
150 regulator-boot-on;
151 };
152
153 vdd_1v2_ap: ldo2 {
154 regulator-name = "va-ap-1v2";
155 regulator-min-microvolt = <1200000>;
156 regulator-max-microvolt = <1200000>;
157 regulator-always-on;
158 regulator-boot-on;
159 };
160
161 ldo3 {
162 regulator-name = "vd-fuse";
163 regulator-min-microvolt = <1800000>;
164 regulator-max-microvolt = <1800000>;
165 regulator-always-on;
166 regulator-boot-on;
167 };
168
169 ldo4 {
170 regulator-name = "vd-ts-hv";
171 regulator-min-microvolt = <3200000>;
172 regulator-max-microvolt = <3200000>;
173 regulator-always-on;
174 regulator-boot-on;
175 };
176
177 ldo5 {
178 regulator-name = "va-cam2-hv";
179 regulator-min-microvolt = <2700000>;
180 regulator-max-microvolt = <2700000>;
181 };
182
183 ldo6 {
184 regulator-name = "va-sns-hv";
185 regulator-min-microvolt = <2850000>;
186 regulator-max-microvolt = <2850000>;
187 };
188
189 ldo7 {
190 regulator-name = "va-cam1-hv";
191 regulator-min-microvolt = <2700000>;
192 regulator-max-microvolt = <2700000>;
193 };
194
195 ldo8 {
196 regulator-name = "va-ap-rtc";
197 regulator-min-microvolt = <1100000>;
198 regulator-max-microvolt = <1100000>;
199 ti,enable-ldo8-tracking;
200 regulator-always-on;
201 regulator-boot-on;
202 };
203
204 ldo9 {
205 regulator-name = "vi-sdcard";
206 regulator-min-microvolt = <2900000>;
207 regulator-max-microvolt = <2900000>;
208 };
209
210 ldousb {
211 regulator-name = "avdd-usb";
212 regulator-min-microvolt = <3300000>;
213 regulator-max-microvolt = <3300000>;
214 regulator-always-on;
215 regulator-boot-on;
216 };
217
218 ldoln {
219 regulator-name = "va-hdmi";
220 regulator-min-microvolt = <3300000>;
221 regulator-max-microvolt = <3300000>;
222 };
223 };
224 };
225
226 rtc {
227 compatible = "ti,palmas-rtc";
228 interrupt-parent = <&palmas>;
229 interrupts = <8 0>;
230 };
231
232 };
233 };
234
235 pmc@7000e400 {
236 nvidia,invert-interrupt;
237 };
238
239 /* eMMC */
240 sdhci@78000600 {
241 status = "okay";
242 bus-width = <8>;
243 vmmc-supply = <&vdd_1v8>;
244 non-removable;
245 };
246
247 usb@7d000000 {
248 status = "okay";
249 };
250
251 usb-phy@7d000000 {
252 status = "okay";
253 nvidia,xcvr-setup = <7>;
254 nvidia,xcvr-lsfslew = <2>;
255 nvidia,xcvr-lsrslew = <2>;
256 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
257 /* Should be changed to "otg" once we have vbus_supply */
258 /* As of now, USB devices need to be powered externally */
259 dr_mode = "host";
260 };
261
262 backlight: backlight {
263 compatible = "pwm-backlight";
264 pwms = <&pwm 1 40000>;
265
266 brightness-levels = <0 4 8 16 32 64 128 255>;
267 default-brightness-level = <6>;
268
269 power-supply = <&lcd_bl_en>;
270 };
271
272 clocks {
273 compatible = "simple-bus";
274 #address-cells = <1>;
275 #size-cells = <0>;
276
277 clk32k_in: clock {
278 compatible = "fixed-clock";
279 reg = <0>;
280 #clock-cells = <0>;
281 clock-frequency = <32768>;
282 };
283 };
284
285 gpio-keys {
286 compatible = "gpio-keys";
287
288 power {
289 label = "Power";
290 gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
291 linux,code = <KEY_POWER>;
292 gpio-key,wakeup;
293 };
294
295 volume_down {
296 label = "Volume Down";
297 gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_LOW>;
298 linux,code = <KEY_VOLUMEDOWN>;
299 };
300
301 volume_up {
302 label = "Volume Up";
303 gpios = <&gpio TEGRA_GPIO(R, 2) GPIO_ACTIVE_LOW>;
304 linux,code = <KEY_VOLUMEUP>;
305 };
306 };
307
308 regulators {
309 compatible = "simple-bus";
310 #address-cells = <1>;
311 #size-cells = <0>;
312
313 /* FIXME: output of BQ24192 */
314 vs_sys: regulator@0 {
315 compatible = "regulator-fixed";
316 reg = <0>;
317 regulator-name = "VS_SYS";
318 regulator-min-microvolt = <4200000>;
319 regulator-max-microvolt = <4200000>;
320 regulator-always-on;
321 regulator-boot-on;
322 };
323
324 lcd_bl_en: regulator@1 {
325 compatible = "regulator-fixed";
326 reg = <1>;
327 regulator-name = "VDD_LCD_BL";
328 regulator-min-microvolt = <16500000>;
329 regulator-max-microvolt = <16500000>;
330 gpio = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
331 enable-active-high;
332 vin-supply = <&vs_sys>;
333 regulator-boot-on;
334 };
335
336 vdd_lcd: regulator@2 {
337 compatible = "regulator-fixed";
338 reg = <2>;
339 regulator-name = "VD_LCD_1V8";
340 regulator-min-microvolt = <1800000>;
341 regulator-max-microvolt = <1800000>;
342 gpio = <&palmas_gpio 4 GPIO_ACTIVE_HIGH>;
343 enable-active-high;
344 vin-supply = <&vdd_1v8>;
345 regulator-boot-on;
346 };
347 };
348};