• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * omap3-n950.dts - Device Tree file for Nokia N950
3 *
4 * Written by: Aaro Koskinen <aaro.koskinen@iki.fi>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11/dts-v1/;
12
13#include "omap3-n950-n9.dtsi"
14#include <dt-bindings/input/input.h>
15
16/ {
17	model = "Nokia N950";
18	compatible = "nokia,omap3-n950", "ti,omap36xx", "ti,omap3";
19
20	keys {
21		compatible = "gpio-keys";
22
23		keypad_slide {
24			label = "Keypad Slide";
25			gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; /* 109 */
26			linux,input-type = <EV_SW>;
27			linux,code = <SW_KEYPAD_SLIDE>;
28			wakeup-source;
29			pinctrl-names = "default";
30			pinctrl-0 = <&keypad_slide_pins>;
31		};
32	};
33};
34
35&omap3_pmx_core {
36	keypad_slide_pins: pinmux_debug_led_pins {
37		pinctrl-single,pins = <
38			OMAP3_CORE1_IOPAD(0x212a, PIN_INPUT | MUX_MODE4)       /* cam_d10.gpio_109 */
39		>;
40	};
41};
42
43&omap3_pmx_core {
44	spi4_pins: pinmux_spi4_pins {
45		pinctrl-single,pins = <
46			OMAP3_CORE1_IOPAD(0x218c, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_clk */
47			OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE1) /* mcspi4_simo */
48			OMAP3_CORE1_IOPAD(0x2192, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_somi */
49			OMAP3_CORE1_IOPAD(0x2196, PIN_OUTPUT | MUX_MODE1) /* mcspi4_cs0 */
50		>;
51	};
52};
53
54&i2c2 {
55	smia_1: camera@10 {
56		compatible = "nokia,smia";
57		reg = <0x10>;
58		/* No reset gpio */
59		vana-supply = <&vaux3>;
60		clocks = <&isp 0>;
61		clock-frequency = <9600000>;
62		nokia,nvm-size = <(16 * 64)>;
63		port {
64			smia_1_1: endpoint {
65				link-frequencies = /bits/ 64 <210000000 333600000 398400000>;
66				clock-lanes = <0>;
67				data-lanes = <1 2>;
68				remote-endpoint = <&csi2a_ep>;
69			};
70		};
71	};
72};
73
74&isp {
75	vdd-csiphy1-supply = <&vaux2>;
76	vdd-csiphy2-supply = <&vaux2>;
77	ports {
78		port@2 {
79			reg = <2>;
80			csi2a_ep: endpoint {
81				remote-endpoint = <&smia_1_1>;
82				clock-lanes = <2>;
83				data-lanes = <3 1>;
84				crc = <1>;
85				lane-polarities = <1 1 1>;
86			};
87		};
88	};
89};
90
91&mcspi4 {
92	status = "okay";
93	pinctrl-names = "default";
94	pinctrl-0 = <&spi4_pins>;
95
96	wlcore: wlcore@0 {
97		compatible = "ti,wl1271";
98		pinctrl-names = "default";
99		pinctrl-0 = <&wlan_pins>;
100		reg = <0>;
101		spi-max-frequency = <48000000>;
102		clock-xtal;
103		ref-clock-frequency = <38400000>;
104		interrupts-extended = <&gpio2 10 IRQ_TYPE_LEVEL_HIGH>; /* gpio 42 */
105		vwlan-supply = <&vwlan_fixed>;
106	};
107};
108
109&modem {
110	compatible = "nokia,n950-modem";
111};
112
113&twl {
114	twl_audio: audio {
115		compatible = "ti,twl4030-audio";
116		ti,enable-vibra = <1>;
117	};
118};
119
120&twl_keypad {
121	linux,keymap = < MATRIX_KEY(0x00, 0x00, KEY_BACKSLASH)
122			 MATRIX_KEY(0x01, 0x00, KEY_LEFTSHIFT)
123			 MATRIX_KEY(0x02, 0x00, KEY_COMPOSE)
124			 MATRIX_KEY(0x03, 0x00, KEY_LEFTMETA)
125			 MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
126			 MATRIX_KEY(0x05, 0x00, KEY_BACKSPACE)
127			 MATRIX_KEY(0x06, 0x00, KEY_VOLUMEDOWN)
128			 MATRIX_KEY(0x07, 0x00, KEY_VOLUMEUP)
129
130			 MATRIX_KEY(0x03, 0x01, KEY_Z)
131			 MATRIX_KEY(0x04, 0x01, KEY_A)
132			 MATRIX_KEY(0x05, 0x01, KEY_Q)
133			 MATRIX_KEY(0x06, 0x01, KEY_W)
134			 MATRIX_KEY(0x07, 0x01, KEY_E)
135
136			 MATRIX_KEY(0x03, 0x02, KEY_X)
137			 MATRIX_KEY(0x04, 0x02, KEY_S)
138			 MATRIX_KEY(0x05, 0x02, KEY_D)
139			 MATRIX_KEY(0x06, 0x02, KEY_C)
140			 MATRIX_KEY(0x07, 0x02, KEY_V)
141
142			 MATRIX_KEY(0x03, 0x03, KEY_O)
143			 MATRIX_KEY(0x04, 0x03, KEY_I)
144			 MATRIX_KEY(0x05, 0x03, KEY_U)
145			 MATRIX_KEY(0x06, 0x03, KEY_L)
146			 MATRIX_KEY(0x07, 0x03, KEY_APOSTROPHE)
147
148			 MATRIX_KEY(0x03, 0x04, KEY_Y)
149			 MATRIX_KEY(0x04, 0x04, KEY_K)
150			 MATRIX_KEY(0x05, 0x04, KEY_J)
151			 MATRIX_KEY(0x06, 0x04, KEY_H)
152			 MATRIX_KEY(0x07, 0x04, KEY_G)
153
154			 MATRIX_KEY(0x03, 0x05, KEY_B)
155			 MATRIX_KEY(0x04, 0x05, KEY_COMMA)
156			 MATRIX_KEY(0x05, 0x05, KEY_M)
157			 MATRIX_KEY(0x06, 0x05, KEY_N)
158			 MATRIX_KEY(0x07, 0x05, KEY_DOT)
159
160			 MATRIX_KEY(0x00, 0x06, KEY_SPACE)
161			 MATRIX_KEY(0x03, 0x06, KEY_T)
162			 MATRIX_KEY(0x04, 0x06, KEY_UP)
163			 MATRIX_KEY(0x05, 0x06, KEY_LEFT)
164			 MATRIX_KEY(0x06, 0x06, KEY_RIGHT)
165			 MATRIX_KEY(0x07, 0x06, KEY_DOWN)
166
167			 MATRIX_KEY(0x03, 0x07, KEY_P)
168			 MATRIX_KEY(0x04, 0x07, KEY_ENTER)
169			 MATRIX_KEY(0x05, 0x07, KEY_SLASH)
170			 MATRIX_KEY(0x06, 0x07, KEY_F)
171			 MATRIX_KEY(0x07, 0x07, KEY_R)
172			 >;
173};
174
175&lis302 {
176	st,axis-x = <(-2)>; /* LIS3_INV_DEV_Y */
177	st,axis-y = <(-1)>; /* LIS3_INV_DEV_X */
178	st,axis-z = <(-3)>; /* LIS3_INV_DEV_Z */
179
180	st,min-limit-x = <(-32)>;
181	st,min-limit-y = <3>;
182	st,min-limit-z = <3>;
183
184	st,max-limit-x = <(-3)>;
185	st,max-limit-y = <32>;
186	st,max-limit-z = <32>;
187};
188