blob: 5082cb6ab160e47cc308d5936b7bd781bb253bc8 [file] [log] [blame]
Pavel Macheka4d4b152013-08-13 15:36:36 +02001/*
2 * Copyright (C) 2013 Pavel Machek <pavel@ucw.cz>
3 * Copyright 2013 Aaro Koskinen <aaro.koskinen@iki.fi>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 (or later) as
7 * published by the Free Software Foundation.
8 */
9
10/dts-v1/;
11
12#include "omap34xx.dtsi"
13
14/ {
15 model = "Nokia N900";
16 compatible = "nokia,omap3-n900", "ti,omap3";
17
18 cpus {
19 cpu@0 {
20 cpu0-supply = <&vcc>;
21 };
22 };
23
24 memory {
25 device_type = "memory";
26 reg = <0x80000000 0x10000000>; /* 256 MB */
27 };
28
Sebastian Reichel3931c8392013-10-23 00:49:34 +020029 gpio_keys {
30 compatible = "gpio-keys";
31
32 camera_lens_cover {
33 label = "Camera Lens Cover";
34 gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; /* 110 */
35 linux,input-type = <5>; /* EV_SW */
36 linux,code = <0x09>; /* SW_CAMERA_LENS_COVER */
37 gpio-key,wakeup;
38 };
39
40 camera_focus {
41 label = "Camera Focus";
42 gpios = <&gpio3 4 GPIO_ACTIVE_LOW>; /* 68 */
43 linux,code = <0x210>; /* KEY_CAMERA_FOCUS */
44 gpio-key,wakeup;
45 };
46
47 camera_capture {
48 label = "Camera Capture";
49 gpios = <&gpio3 5 GPIO_ACTIVE_LOW>; /* 69 */
50 linux,code = <0xd4>; /* KEY_CAMERA */
51 gpio-key,wakeup;
52 };
53
54 lock_button {
55 label = "Lock Button";
56 gpios = <&gpio4 17 GPIO_ACTIVE_LOW>; /* 113 */
57 linux,code = <0x98>; /* KEY_SCREENLOCK */
58 gpio-key,wakeup;
59 };
60
61 keypad_slide {
62 label = "Keypad Slide";
63 gpios = <&gpio3 7 GPIO_ACTIVE_LOW>; /* 71 */
64 linux,input-type = <5>; /* EV_SW */
65 linux,code = <0x0a>; /* SW_KEYPAD_SLIDE */
66 gpio-key,wakeup;
67 };
68
69 proximity_sensor {
70 label = "Proximity Sensor";
71 gpios = <&gpio3 25 GPIO_ACTIVE_HIGH>; /* 89 */
72 linux,input-type = <5>; /* EV_SW */
73 linux,code = <0x0b>; /* SW_FRONT_PROXIMITY */
74 };
75 };
76
Pavel Macheka4d4b152013-08-13 15:36:36 +020077};
78
Sebastian Reichelac888a82013-10-23 00:49:30 +020079&omap3_pmx_core {
80 pinctrl-names = "default";
81
Sebastian Reichel7a89eec2013-10-23 00:49:32 +020082 uart2_pins: pinmux_uart2_pins {
83 pinctrl-single,pins = <
84 0x14a (PIN_INPUT | MUX_MODE0) /* uart2_rx */
85 0x148 (PIN_OUTPUT | MUX_MODE0) /* uart2_tx */
86 >;
87 };
88
89 uart3_pins: pinmux_uart3_pins {
90 pinctrl-single,pins = <
91 0x16e (PIN_INPUT | MUX_MODE0) /* uart3_rx */
92 0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx */
93 >;
94 };
95
Sebastian Reichelac888a82013-10-23 00:49:30 +020096 i2c1_pins: pinmux_i2c1_pins {
97 pinctrl-single,pins = <
98 0x18a (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
99 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
100 >;
101 };
102
103 i2c2_pins: pinmux_i2c2_pins {
104 pinctrl-single,pins = <
105 0x18e (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
106 0x190 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
107 >;
108 };
109
110 i2c3_pins: pinmux_i2c3_pins {
111 pinctrl-single,pins = <
112 0x192 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
113 0x194 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
114 >;
115 };
Sebastian Reichelf1751cf2013-10-23 00:49:33 +0200116
117 mmc1_pins: pinmux_mmc1_pins {
118 pinctrl-single,pins = <
119 0x114 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk */
120 0x116 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd */
121 0x118 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0 */
122 0x11a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1 */
123 0x11c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2 */
124 0x11e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3 */
125 >;
126 };
Sebastian Reichelac888a82013-10-23 00:49:30 +0200127};
128
Pavel Macheka4d4b152013-08-13 15:36:36 +0200129&i2c1 {
Sebastian Reichelac888a82013-10-23 00:49:30 +0200130 pinctrl-names = "default";
131 pinctrl-0 = <&i2c1_pins>;
132
Pavel Macheka4d4b152013-08-13 15:36:36 +0200133 clock-frequency = <2200000>;
134
135 twl: twl@48 {
136 reg = <0x48>;
137 interrupts = <7>; /* SYS_NIRQ cascaded to intc */
138 interrupt-parent = <&intc>;
139 };
140};
141
142#include "twl4030.dtsi"
Sebastian Reichelac888a82013-10-23 00:49:30 +0200143#include "twl4030_omap3.dtsi"
Pavel Macheka4d4b152013-08-13 15:36:36 +0200144
145&twl_gpio {
146 ti,pullups = <0x0>;
147 ti,pulldowns = <0x03ff3f>; /* BIT(0..5) | BIT(8..17) */
148};
149
150&i2c2 {
Sebastian Reichelac888a82013-10-23 00:49:30 +0200151 pinctrl-names = "default";
152 pinctrl-0 = <&i2c2_pins>;
153
Sebastian Reichel48fc9862013-10-23 00:49:31 +0200154 clock-frequency = <100000>;
Pavel Macheka4d4b152013-08-13 15:36:36 +0200155};
156
157&i2c3 {
Sebastian Reichelac888a82013-10-23 00:49:30 +0200158 pinctrl-names = "default";
159 pinctrl-0 = <&i2c3_pins>;
160
Sebastian Reichel48fc9862013-10-23 00:49:31 +0200161 clock-frequency = <400000>;
Pavel Macheka4d4b152013-08-13 15:36:36 +0200162};
163
164&mmc1 {
Sebastian Reichelf1751cf2013-10-23 00:49:33 +0200165 pinctrl-names = "default";
166 pinctrl-0 = <&mmc1_pins>;
167 vmmc-supply = <&vmmc1>;
168 bus-width = <4>;
169 cd-gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>; /* 160 */
Pavel Macheka4d4b152013-08-13 15:36:36 +0200170};
171
172&mmc2 {
173 status = "disabled";
174};
175
176&mmc3 {
177 status = "disabled";
178};
179
180&mcspi1 {
181 /*
182 * For some reason, touchscreen is necessary for screen to work at
183 * all on real hw. It works well without it on emulator.
184 *
185 * Also... order in the device tree actually matters here.
186 */
187 tsc2005@0 {
188 compatible = "tsc2005";
189 spi-max-frequency = <6000000>;
190 reg = <0>;
191 };
192 mipid@2 {
193 compatible = "acx565akm";
194 spi-max-frequency = <6000000>;
195 reg = <2>;
196 };
197};
198
199&usb_otg_hs {
200 interface-type = <0>;
201 usb-phy = <&usb2_phy>;
Roger Quadrosd2afcf02013-10-07 16:28:13 +0300202 phys = <&usb2_phy>;
203 phy-names = "usb2-phy";
Pavel Macheka4d4b152013-08-13 15:36:36 +0200204 mode = <2>;
205 power = <50>;
206};
Sebastian Reichel7a89eec2013-10-23 00:49:32 +0200207
208&uart1 {
209 status = "disabled";
210};
211
212&uart2 {
213 pinctrl-names = "default";
214 pinctrl-0 = <&uart2_pins>;
215};
216
217&uart3 {
218 pinctrl-names = "default";
219 pinctrl-0 = <&uart3_pins>;
220};