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