/*
* omap3-n950.dts - Device Tree file for Nokia N950
*
* Written by: Aaro Koskinen <aaro.koskinen@iki.fi>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/dts-v1/;
#include "omap3-n950-n9.dtsi"
#include <dt-bindings/input/input.h>
/ {
model = "Nokia N950";
compatible = "nokia,omap3-n950", "ti,omap36xx", "ti,omap3";
keys {
compatible = "gpio-keys";
keypad_slide {
label = "Keypad Slide";
gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; /* 109 */
linux,input-type = <EV_SW>;
linux,code = <SW_KEYPAD_SLIDE>;
wakeup-source;
pinctrl-names = "default";
pinctrl-0 = <&keypad_slide_pins>;
};
};
};
&omap3_pmx_core {
keypad_slide_pins: pinmux_debug_led_pins {
pinctrl-single,pins = <
OMAP3_CORE1_IOPAD(0x212a, PIN_INPUT | MUX_MODE4) /* cam_d10.gpio_109 */
>;
};
};
&omap3_pmx_core {
spi4_pins: pinmux_spi4_pins {
pinctrl-single,pins = <
OMAP3_CORE1_IOPAD(0x218c, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_clk */
OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE1) /* mcspi4_simo */
OMAP3_CORE1_IOPAD(0x2192, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_somi */
OMAP3_CORE1_IOPAD(0x2196, PIN_OUTPUT | MUX_MODE1) /* mcspi4_cs0 */
>;
};
};
&i2c2 {
smia_1: camera@10 {
compatible = "nokia,smia";
reg = <0x10>;
/* No reset gpio */
vana-supply = <&vaux3>;
clocks = <&isp 0>;
clock-frequency = <9600000>;
nokia,nvm-size = <(16 * 64)>;
port {
smia_1_1: endpoint {
link-frequencies = /bits/ 64 <210000000 333600000 398400000>;
clock-lanes = <0>;
data-lanes = <1 2>;
remote-endpoint = <&csi2a_ep>;
};
};
};
};
&isp {
vdd-csiphy1-supply = <&vaux2>;
vdd-csiphy2-supply = <&vaux2>;
ports {
port@2 {
reg = <2>;
csi2a_ep: endpoint {
remote-endpoint = <&smia_1_1>;
clock-lanes = <2>;
data-lanes = <3 1>;
crc = <1>;
lane-polarities = <1 1 1>;
};
};
};
};
&mcspi4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&spi4_pins>;
wlcore: wlcore@0 {
compatible = "ti,wl1271";
pinctrl-names = "default";
pinctrl-0 = <&wlan_pins>;
reg = <0>;
spi-max-frequency = <48000000>;
clock-xtal;
ref-clock-frequency = <38400000>;
interrupts-extended = <&gpio2 10 IRQ_TYPE_LEVEL_HIGH>; /* gpio 42 */
vwlan-supply = <&vwlan_fixed>;
};
};
&modem {
compatible = "nokia,n950-modem";
};
&twl {
twl_audio: audio {
compatible = "ti,twl4030-audio";
ti,enable-vibra = <1>;
};
};
&twl_keypad {
linux,keymap = < MATRIX_KEY(0x00, 0x00, KEY_BACKSLASH)
MATRIX_KEY(0x01, 0x00, KEY_LEFTSHIFT)
MATRIX_KEY(0x02, 0x00, KEY_COMPOSE)
MATRIX_KEY(0x03, 0x00, KEY_LEFTMETA)
MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
MATRIX_KEY(0x05, 0x00, KEY_BACKSPACE)
MATRIX_KEY(0x06, 0x00, KEY_VOLUMEDOWN)
MATRIX_KEY(0x07, 0x00, KEY_VOLUMEUP)
MATRIX_KEY(0x03, 0x01, KEY_Z)
MATRIX_KEY(0x04, 0x01, KEY_A)
MATRIX_KEY(0x05, 0x01, KEY_Q)
MATRIX_KEY(0x06, 0x01, KEY_W)
MATRIX_KEY(0x07, 0x01, KEY_E)
MATRIX_KEY(0x03, 0x02, KEY_X)
MATRIX_KEY(0x04, 0x02, KEY_S)
MATRIX_KEY(0x05, 0x02, KEY_D)
MATRIX_KEY(0x06, 0x02, KEY_C)
MATRIX_KEY(0x07, 0x02, KEY_V)
MATRIX_KEY(0x03, 0x03, KEY_O)
MATRIX_KEY(0x04, 0x03, KEY_I)
MATRIX_KEY(0x05, 0x03, KEY_U)
MATRIX_KEY(0x06, 0x03, KEY_L)
MATRIX_KEY(0x07, 0x03, KEY_APOSTROPHE)
MATRIX_KEY(0x03, 0x04, KEY_Y)
MATRIX_KEY(0x04, 0x04, KEY_K)
MATRIX_KEY(0x05, 0x04, KEY_J)
MATRIX_KEY(0x06, 0x04, KEY_H)
MATRIX_KEY(0x07, 0x04, KEY_G)
MATRIX_KEY(0x03, 0x05, KEY_B)
MATRIX_KEY(0x04, 0x05, KEY_COMMA)
MATRIX_KEY(0x05, 0x05, KEY_M)
MATRIX_KEY(0x06, 0x05, KEY_N)
MATRIX_KEY(0x07, 0x05, KEY_DOT)
MATRIX_KEY(0x00, 0x06, KEY_SPACE)
MATRIX_KEY(0x03, 0x06, KEY_T)
MATRIX_KEY(0x04, 0x06, KEY_UP)
MATRIX_KEY(0x05, 0x06, KEY_LEFT)
MATRIX_KEY(0x06, 0x06, KEY_RIGHT)
MATRIX_KEY(0x07, 0x06, KEY_DOWN)
MATRIX_KEY(0x03, 0x07, KEY_P)
MATRIX_KEY(0x04, 0x07, KEY_ENTER)
MATRIX_KEY(0x05, 0x07, KEY_SLASH)
MATRIX_KEY(0x06, 0x07, KEY_F)
MATRIX_KEY(0x07, 0x07, KEY_R)
>;
};
&lis302 {
st,axis-x = <(-2)>; /* LIS3_INV_DEV_Y */
st,axis-y = <(-1)>; /* LIS3_INV_DEV_X */
st,axis-z = <(-3)>; /* LIS3_INV_DEV_Z */
st,min-limit-x = <(-32)>;
st,min-limit-y = <3>;
st,min-limit-z = <3>;
st,max-limit-x = <(-3)>;
st,max-limit-y = <32>;
st,max-limit-z = <32>;
};