omap3-n900.dts 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877
  1. /*
  2. * Copyright (C) 2013 Pavel Machek <pavel@ucw.cz>
  3. * Copyright (C) 2013-2014 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. /dts-v1/;
  10. #include "omap34xx-hs.dtsi"
  11. #include <dt-bindings/input/input.h>
  12. / {
  13. model = "Nokia N900";
  14. compatible = "nokia,omap3-n900", "ti,omap3430", "ti,omap3";
  15. cpus {
  16. cpu@0 {
  17. cpu0-supply = <&vcc>;
  18. };
  19. };
  20. leds {
  21. compatible = "gpio-leds";
  22. heartbeat {
  23. label = "debug::sleep";
  24. gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>; /* gpio162 */
  25. linux,default-trigger = "default-on";
  26. pinctrl-names = "default";
  27. pinctrl-0 = <&debug_leds>;
  28. };
  29. };
  30. memory {
  31. device_type = "memory";
  32. reg = <0x80000000 0x10000000>; /* 256 MB */
  33. };
  34. gpio_keys {
  35. compatible = "gpio-keys";
  36. camera_lens_cover {
  37. label = "Camera Lens Cover";
  38. gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; /* 110 */
  39. linux,input-type = <5>; /* EV_SW */
  40. linux,code = <0x09>; /* SW_CAMERA_LENS_COVER */
  41. gpio-key,wakeup;
  42. };
  43. camera_focus {
  44. label = "Camera Focus";
  45. gpios = <&gpio3 4 GPIO_ACTIVE_LOW>; /* 68 */
  46. linux,code = <0x210>; /* KEY_CAMERA_FOCUS */
  47. gpio-key,wakeup;
  48. };
  49. camera_capture {
  50. label = "Camera Capture";
  51. gpios = <&gpio3 5 GPIO_ACTIVE_LOW>; /* 69 */
  52. linux,code = <0xd4>; /* KEY_CAMERA */
  53. gpio-key,wakeup;
  54. };
  55. lock_button {
  56. label = "Lock Button";
  57. gpios = <&gpio4 17 GPIO_ACTIVE_LOW>; /* 113 */
  58. linux,code = <0x98>; /* KEY_SCREENLOCK */
  59. gpio-key,wakeup;
  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. proximity_sensor {
  69. label = "Proximity Sensor";
  70. gpios = <&gpio3 25 GPIO_ACTIVE_HIGH>; /* 89 */
  71. linux,input-type = <5>; /* EV_SW */
  72. linux,code = <0x0b>; /* SW_FRONT_PROXIMITY */
  73. };
  74. };
  75. isp1704: isp1704 {
  76. compatible = "nxp,isp1704";
  77. nxp,enable-gpio = <&gpio3 3 GPIO_ACTIVE_HIGH>;
  78. usb-phy = <&usb2_phy>;
  79. };
  80. tv: connector {
  81. compatible = "composite-video-connector";
  82. label = "tv";
  83. port {
  84. tv_connector_in: endpoint {
  85. remote-endpoint = <&venc_out>;
  86. };
  87. };
  88. };
  89. sound: n900-audio {
  90. compatible = "nokia,n900-audio";
  91. nokia,cpu-dai = <&mcbsp2>;
  92. nokia,audio-codec = <&tlv320aic3x>, <&tlv320aic3x_aux>;
  93. nokia,headphone-amplifier = <&tpa6130a2>;
  94. tvout-selection-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>; /* 40 */
  95. jack-detection-gpios = <&gpio6 17 GPIO_ACTIVE_HIGH>; /* 177 */
  96. eci-switch-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>; /* 182 */
  97. speaker-amplifier-gpios = <&twl_gpio 7 GPIO_ACTIVE_HIGH>;
  98. };
  99. };
  100. &omap3_pmx_core {
  101. pinctrl-names = "default";
  102. uart2_pins: pinmux_uart2_pins {
  103. pinctrl-single,pins = <
  104. 0x14a (PIN_INPUT | MUX_MODE0) /* uart2_rx */
  105. 0x148 (PIN_OUTPUT | MUX_MODE0) /* uart2_tx */
  106. >;
  107. };
  108. uart3_pins: pinmux_uart3_pins {
  109. pinctrl-single,pins = <
  110. 0x16e (PIN_INPUT | MUX_MODE0) /* uart3_rx */
  111. 0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx */
  112. >;
  113. };
  114. ethernet_pins: pinmux_ethernet_pins {
  115. pinctrl-single,pins = <
  116. OMAP3_CORE1_IOPAD(0x20b4, PIN_INPUT_PULLDOWN | MUX_MODE4) /* gpmc_ncs3.gpio_54 */
  117. OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE4) /* dss_data16.gpio_86 */
  118. OMAP3_CORE1_IOPAD(0x219c, PIN_OUTPUT | MUX_MODE4) /* uart3_rts_sd.gpio_164 */
  119. >;
  120. };
  121. i2c1_pins: pinmux_i2c1_pins {
  122. pinctrl-single,pins = <
  123. 0x18a (PIN_INPUT | MUX_MODE0) /* i2c1_scl */
  124. 0x18c (PIN_INPUT | MUX_MODE0) /* i2c1_sda */
  125. >;
  126. };
  127. i2c2_pins: pinmux_i2c2_pins {
  128. pinctrl-single,pins = <
  129. 0x18e (PIN_INPUT | MUX_MODE0) /* i2c2_scl */
  130. 0x190 (PIN_INPUT | MUX_MODE0) /* i2c2_sda */
  131. >;
  132. };
  133. i2c3_pins: pinmux_i2c3_pins {
  134. pinctrl-single,pins = <
  135. 0x192 (PIN_INPUT | MUX_MODE0) /* i2c3_scl */
  136. 0x194 (PIN_INPUT | MUX_MODE0) /* i2c3_sda */
  137. >;
  138. };
  139. debug_leds: pinmux_debug_led_pins {
  140. pinctrl-single,pins = <
  141. OMAP3_CORE1_IOPAD(0x2198, PIN_OUTPUT | MUX_MODE4) /* mcbsp1_clkx.gpio_162 */
  142. >;
  143. };
  144. mcspi4_pins: pinmux_mcspi4_pins {
  145. pinctrl-single,pins = <
  146. 0x15c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_clk */
  147. 0x162 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_somi */
  148. 0x160 (PIN_OUTPUT | MUX_MODE1) /* mcspi4_simo */
  149. 0x166 (PIN_OUTPUT | MUX_MODE1) /* mcspi4_cs0 */
  150. >;
  151. };
  152. mmc1_pins: pinmux_mmc1_pins {
  153. pinctrl-single,pins = <
  154. 0x114 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk */
  155. 0x116 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd */
  156. 0x118 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0 */
  157. 0x11a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1 */
  158. 0x11c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2 */
  159. 0x11e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3 */
  160. >;
  161. };
  162. mmc2_pins: pinmux_mmc2_pins {
  163. pinctrl-single,pins = <
  164. 0x128 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk */
  165. 0x12a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd */
  166. 0x12c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0 */
  167. 0x12e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1 */
  168. 0x130 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2 */
  169. 0x132 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3 */
  170. 0x134 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat4 */
  171. 0x136 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat5 */
  172. 0x138 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat6 */
  173. 0x13a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat7 */
  174. >;
  175. };
  176. acx565akm_pins: pinmux_acx565akm_pins {
  177. pinctrl-single,pins = <
  178. 0x0d4 (PIN_OUTPUT | MUX_MODE4) /* RX51_LCD_RESET_GPIO */
  179. >;
  180. };
  181. dss_sdi_pins: pinmux_dss_sdi_pins {
  182. pinctrl-single,pins = <
  183. 0x0c0 (PIN_OUTPUT | MUX_MODE1) /* dss_data10.sdi_dat1n */
  184. 0x0c2 (PIN_OUTPUT | MUX_MODE1) /* dss_data11.sdi_dat1p */
  185. 0x0c4 (PIN_OUTPUT | MUX_MODE1) /* dss_data12.sdi_dat2n */
  186. 0x0c6 (PIN_OUTPUT | MUX_MODE1) /* dss_data13.sdi_dat2p */
  187. 0x0d8 (PIN_OUTPUT | MUX_MODE1) /* dss_data22.sdi_clkp */
  188. 0x0da (PIN_OUTPUT | MUX_MODE1) /* dss_data23.sdi_clkn */
  189. >;
  190. };
  191. wl1251_pins: pinmux_wl1251 {
  192. pinctrl-single,pins = <
  193. 0x0ce (PIN_OUTPUT | MUX_MODE4) /* gpio 87 => wl1251 enable */
  194. 0x05a (PIN_INPUT | MUX_MODE4) /* gpio 42 => wl1251 irq */
  195. >;
  196. };
  197. ssi_pins: pinmux_ssi {
  198. pinctrl-single,pins = <
  199. 0x150 (PIN_INPUT_PULLUP | MUX_MODE1) /* ssi1_rdy_tx */
  200. 0x14e (PIN_OUTPUT | MUX_MODE1) /* ssi1_flag_tx */
  201. 0x152 (PIN_INPUT | WAKEUP_EN | MUX_MODE4) /* ssi1_wake_tx (cawake) */
  202. 0x14c (PIN_OUTPUT | MUX_MODE1) /* ssi1_dat_tx */
  203. 0x154 (PIN_INPUT | MUX_MODE1) /* ssi1_dat_rx */
  204. 0x156 (PIN_INPUT | MUX_MODE1) /* ssi1_flag_rx */
  205. 0x158 (PIN_OUTPUT | MUX_MODE1) /* ssi1_rdy_rx */
  206. 0x15a (PIN_OUTPUT | MUX_MODE1) /* ssi1_wake */
  207. >;
  208. };
  209. modem_pins: pinmux_modem {
  210. pinctrl-single,pins = <
  211. 0x0ac (PIN_OUTPUT | MUX_MODE4) /* gpio 70 => cmt_apeslpx */
  212. 0x0b0 (PIN_INPUT | WAKEUP_EN | MUX_MODE4) /* gpio 72 => ape_rst_rq */
  213. 0x0b2 (PIN_OUTPUT | MUX_MODE4) /* gpio 73 => cmt_rst_rq */
  214. 0x0b4 (PIN_OUTPUT | MUX_MODE4) /* gpio 74 => cmt_en */
  215. 0x0b6 (PIN_OUTPUT | MUX_MODE4) /* gpio 75 => cmt_rst */
  216. 0x15e (PIN_OUTPUT | MUX_MODE4) /* gpio 157 => cmt_bsi */
  217. >;
  218. };
  219. };
  220. &i2c1 {
  221. pinctrl-names = "default";
  222. pinctrl-0 = <&i2c1_pins>;
  223. clock-frequency = <2200000>;
  224. twl: twl@48 {
  225. reg = <0x48>;
  226. interrupts = <7>; /* SYS_NIRQ cascaded to intc */
  227. interrupt-parent = <&intc>;
  228. };
  229. };
  230. #include "twl4030.dtsi"
  231. #include "twl4030_omap3.dtsi"
  232. &vaux1 {
  233. regulator-name = "V28";
  234. regulator-min-microvolt = <2800000>;
  235. regulator-max-microvolt = <2800000>;
  236. regulator-always-on; /* due battery cover sensor */
  237. };
  238. &vaux2 {
  239. regulator-name = "VCSI";
  240. regulator-min-microvolt = <1800000>;
  241. regulator-max-microvolt = <1800000>;
  242. };
  243. &vaux3 {
  244. regulator-name = "VMMC2_30";
  245. regulator-min-microvolt = <2800000>;
  246. regulator-max-microvolt = <3000000>;
  247. };
  248. &vaux4 {
  249. regulator-name = "VCAM_ANA_28";
  250. regulator-min-microvolt = <2800000>;
  251. regulator-max-microvolt = <2800000>;
  252. };
  253. &vmmc1 {
  254. regulator-name = "VMMC1";
  255. regulator-min-microvolt = <1850000>;
  256. regulator-max-microvolt = <3150000>;
  257. };
  258. &vmmc2 {
  259. regulator-name = "V28_A";
  260. regulator-min-microvolt = <2800000>;
  261. regulator-max-microvolt = <3000000>;
  262. regulator-always-on; /* due VIO leak to AIC34 VDDs */
  263. };
  264. &vpll1 {
  265. regulator-name = "VPLL";
  266. regulator-min-microvolt = <1800000>;
  267. regulator-max-microvolt = <1800000>;
  268. regulator-always-on;
  269. };
  270. &vpll2 {
  271. regulator-name = "VSDI_CSI";
  272. regulator-min-microvolt = <1800000>;
  273. regulator-max-microvolt = <1800000>;
  274. regulator-always-on;
  275. };
  276. &vsim {
  277. regulator-name = "VMMC2_IO_18";
  278. regulator-min-microvolt = <1800000>;
  279. regulator-max-microvolt = <1800000>;
  280. };
  281. &vio {
  282. regulator-name = "VIO";
  283. regulator-min-microvolt = <1800000>;
  284. regulator-max-microvolt = <1800000>;
  285. };
  286. &vintana1 {
  287. regulator-name = "VINTANA1";
  288. /* fixed to 1500000 */
  289. regulator-always-on;
  290. };
  291. &vintana2 {
  292. regulator-name = "VINTANA2";
  293. regulator-min-microvolt = <2750000>;
  294. regulator-max-microvolt = <2750000>;
  295. regulator-always-on;
  296. };
  297. &vintdig {
  298. regulator-name = "VINTDIG";
  299. /* fixed to 1500000 */
  300. regulator-always-on;
  301. };
  302. &twl {
  303. twl_audio: audio {
  304. compatible = "ti,twl4030-audio";
  305. ti,enable-vibra = <1>;
  306. };
  307. twl_power: power {
  308. compatible = "ti,twl4030-power-n900", "ti,twl4030-power-idle-osc-off";
  309. ti,use_poweroff;
  310. };
  311. };
  312. &twl_keypad {
  313. linux,keymap = < MATRIX_KEY(0x00, 0x00, KEY_Q)
  314. MATRIX_KEY(0x00, 0x01, KEY_O)
  315. MATRIX_KEY(0x00, 0x02, KEY_P)
  316. MATRIX_KEY(0x00, 0x03, KEY_COMMA)
  317. MATRIX_KEY(0x00, 0x04, KEY_BACKSPACE)
  318. MATRIX_KEY(0x00, 0x06, KEY_A)
  319. MATRIX_KEY(0x00, 0x07, KEY_S)
  320. MATRIX_KEY(0x01, 0x00, KEY_W)
  321. MATRIX_KEY(0x01, 0x01, KEY_D)
  322. MATRIX_KEY(0x01, 0x02, KEY_F)
  323. MATRIX_KEY(0x01, 0x03, KEY_G)
  324. MATRIX_KEY(0x01, 0x04, KEY_H)
  325. MATRIX_KEY(0x01, 0x05, KEY_J)
  326. MATRIX_KEY(0x01, 0x06, KEY_K)
  327. MATRIX_KEY(0x01, 0x07, KEY_L)
  328. MATRIX_KEY(0x02, 0x00, KEY_E)
  329. MATRIX_KEY(0x02, 0x01, KEY_DOT)
  330. MATRIX_KEY(0x02, 0x02, KEY_UP)
  331. MATRIX_KEY(0x02, 0x03, KEY_ENTER)
  332. MATRIX_KEY(0x02, 0x05, KEY_Z)
  333. MATRIX_KEY(0x02, 0x06, KEY_X)
  334. MATRIX_KEY(0x02, 0x07, KEY_C)
  335. MATRIX_KEY(0x02, 0x08, KEY_F9)
  336. MATRIX_KEY(0x03, 0x00, KEY_R)
  337. MATRIX_KEY(0x03, 0x01, KEY_V)
  338. MATRIX_KEY(0x03, 0x02, KEY_B)
  339. MATRIX_KEY(0x03, 0x03, KEY_N)
  340. MATRIX_KEY(0x03, 0x04, KEY_M)
  341. MATRIX_KEY(0x03, 0x05, KEY_SPACE)
  342. MATRIX_KEY(0x03, 0x06, KEY_SPACE)
  343. MATRIX_KEY(0x03, 0x07, KEY_LEFT)
  344. MATRIX_KEY(0x04, 0x00, KEY_T)
  345. MATRIX_KEY(0x04, 0x01, KEY_DOWN)
  346. MATRIX_KEY(0x04, 0x02, KEY_RIGHT)
  347. MATRIX_KEY(0x04, 0x04, KEY_LEFTCTRL)
  348. MATRIX_KEY(0x04, 0x05, KEY_RIGHTALT)
  349. MATRIX_KEY(0x04, 0x06, KEY_LEFTSHIFT)
  350. MATRIX_KEY(0x04, 0x08, KEY_F10)
  351. MATRIX_KEY(0x05, 0x00, KEY_Y)
  352. MATRIX_KEY(0x05, 0x08, KEY_F11)
  353. MATRIX_KEY(0x06, 0x00, KEY_U)
  354. MATRIX_KEY(0x07, 0x00, KEY_I)
  355. MATRIX_KEY(0x07, 0x01, KEY_F7)
  356. MATRIX_KEY(0x07, 0x02, KEY_F8)
  357. >;
  358. };
  359. &twl_gpio {
  360. ti,pullups = <0x0>;
  361. ti,pulldowns = <0x03ff3f>; /* BIT(0..5) | BIT(8..17) */
  362. };
  363. &i2c2 {
  364. pinctrl-names = "default";
  365. pinctrl-0 = <&i2c2_pins>;
  366. clock-frequency = <100000>;
  367. tlv320aic3x: tlv320aic3x@18 {
  368. compatible = "ti,tlv320aic3x";
  369. reg = <0x18>;
  370. gpio-reset = <&gpio2 28 GPIO_ACTIVE_HIGH>; /* 60 */
  371. ai3x-gpio-func = <
  372. 0 /* AIC3X_GPIO1_FUNC_DISABLED */
  373. 5 /* AIC3X_GPIO2_FUNC_DIGITAL_MIC_INPUT */
  374. >;
  375. AVDD-supply = <&vmmc2>;
  376. DRVDD-supply = <&vmmc2>;
  377. IOVDD-supply = <&vio>;
  378. DVDD-supply = <&vio>;
  379. ai3x-micbias-vg = <1>;
  380. };
  381. tlv320aic3x_aux: tlv320aic3x@19 {
  382. compatible = "ti,tlv320aic3x";
  383. reg = <0x19>;
  384. gpio-reset = <&gpio2 28 GPIO_ACTIVE_HIGH>; /* 60 */
  385. AVDD-supply = <&vmmc2>;
  386. DRVDD-supply = <&vmmc2>;
  387. IOVDD-supply = <&vio>;
  388. DVDD-supply = <&vio>;
  389. ai3x-micbias-vg = <2>;
  390. };
  391. tsl2563: tsl2563@29 {
  392. compatible = "amstaos,tsl2563";
  393. reg = <0x29>;
  394. amstaos,cover-comp-gain = <16>;
  395. };
  396. lp5523: lp5523@32 {
  397. compatible = "national,lp5523";
  398. reg = <0x32>;
  399. clock-mode = /bits/ 8 <0>; /* LP55XX_CLOCK_AUTO */
  400. enable-gpio = <&gpio2 9 GPIO_ACTIVE_HIGH>; /* 41 */
  401. chan0 {
  402. chan-name = "lp5523:kb1";
  403. led-cur = /bits/ 8 <50>;
  404. max-cur = /bits/ 8 <100>;
  405. };
  406. chan1 {
  407. chan-name = "lp5523:kb2";
  408. led-cur = /bits/ 8 <50>;
  409. max-cur = /bits/ 8 <100>;
  410. };
  411. chan2 {
  412. chan-name = "lp5523:kb3";
  413. led-cur = /bits/ 8 <50>;
  414. max-cur = /bits/ 8 <100>;
  415. };
  416. chan3 {
  417. chan-name = "lp5523:kb4";
  418. led-cur = /bits/ 8 <50>;
  419. max-cur = /bits/ 8 <100>;
  420. };
  421. chan4 {
  422. chan-name = "lp5523:b";
  423. led-cur = /bits/ 8 <50>;
  424. max-cur = /bits/ 8 <100>;
  425. };
  426. chan5 {
  427. chan-name = "lp5523:g";
  428. led-cur = /bits/ 8 <50>;
  429. max-cur = /bits/ 8 <100>;
  430. };
  431. chan6 {
  432. chan-name = "lp5523:r";
  433. led-cur = /bits/ 8 <50>;
  434. max-cur = /bits/ 8 <100>;
  435. };
  436. chan7 {
  437. chan-name = "lp5523:kb5";
  438. led-cur = /bits/ 8 <50>;
  439. max-cur = /bits/ 8 <100>;
  440. };
  441. chan8 {
  442. chan-name = "lp5523:kb6";
  443. led-cur = /bits/ 8 <50>;
  444. max-cur = /bits/ 8 <100>;
  445. };
  446. };
  447. bq27200: bq27200@55 {
  448. compatible = "ti,bq27200";
  449. reg = <0x55>;
  450. };
  451. tpa6130a2: tpa6130a2@60 {
  452. compatible = "ti,tpa6130a2";
  453. reg = <0x60>;
  454. Vdd-supply = <&vmmc2>;
  455. power-gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>; /* 98 */
  456. };
  457. bq24150a: bq24150a@6b {
  458. compatible = "ti,bq24150a";
  459. reg = <0x6b>;
  460. ti,current-limit = <100>;
  461. ti,weak-battery-voltage = <3400>;
  462. ti,battery-regulation-voltage = <4200>;
  463. ti,charge-current = <650>;
  464. ti,termination-current = <100>;
  465. ti,resistor-sense = <68>;
  466. ti,usb-charger-detection = <&isp1704>;
  467. };
  468. };
  469. &i2c3 {
  470. pinctrl-names = "default";
  471. pinctrl-0 = <&i2c3_pins>;
  472. clock-frequency = <400000>;
  473. };
  474. &mmc1 {
  475. pinctrl-names = "default";
  476. pinctrl-0 = <&mmc1_pins>;
  477. vmmc-supply = <&vmmc1>;
  478. bus-width = <4>;
  479. cd-gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>; /* 160 */
  480. };
  481. /* most boards use vaux3, only some old versions use vmmc2 instead */
  482. &mmc2 {
  483. pinctrl-names = "default";
  484. pinctrl-0 = <&mmc2_pins>;
  485. vmmc-supply = <&vaux3>;
  486. vmmc_aux-supply = <&vsim>;
  487. bus-width = <8>;
  488. non-removable;
  489. };
  490. &mmc3 {
  491. status = "disabled";
  492. };
  493. &gpmc {
  494. ranges = <0 0 0x04000000 0x10000000>; /* 256MB */
  495. ranges = <0 0 0x01000000 0x01000000>, /* 16 MB for OneNAND */
  496. <1 0 0x02000000 0x01000000>; /* 16 MB for smc91c96 */
  497. /* gpio-irq for dma: 65 */
  498. onenand@0,0 {
  499. #address-cells = <1>;
  500. #size-cells = <1>;
  501. reg = <0 0 0x10000000>;
  502. gpmc,sync-read;
  503. gpmc,sync-write;
  504. gpmc,burst-length = <16>;
  505. gpmc,burst-read;
  506. gpmc,burst-wrap;
  507. gpmc,burst-write;
  508. gpmc,device-width = <2>; /* GPMC_DEVWIDTH_16BIT */
  509. gpmc,mux-add-data = <2>; /* GPMC_MUX_AD */
  510. gpmc,cs-on-ns = <0>;
  511. gpmc,cs-rd-off-ns = <87>;
  512. gpmc,cs-wr-off-ns = <87>;
  513. gpmc,adv-on-ns = <0>;
  514. gpmc,adv-rd-off-ns = <10>;
  515. gpmc,adv-wr-off-ns = <10>;
  516. gpmc,oe-on-ns = <15>;
  517. gpmc,oe-off-ns = <87>;
  518. gpmc,we-on-ns = <0>;
  519. gpmc,we-off-ns = <87>;
  520. gpmc,rd-cycle-ns = <112>;
  521. gpmc,wr-cycle-ns = <112>;
  522. gpmc,access-ns = <81>;
  523. gpmc,page-burst-access-ns = <15>;
  524. gpmc,bus-turnaround-ns = <0>;
  525. gpmc,cycle2cycle-delay-ns = <0>;
  526. gpmc,wait-monitoring-ns = <0>;
  527. gpmc,clk-activation-ns = <5>;
  528. gpmc,wr-data-mux-bus-ns = <30>;
  529. gpmc,wr-access-ns = <81>;
  530. gpmc,sync-clk-ps = <15000>;
  531. /*
  532. * MTD partition table corresponding to Nokia's
  533. * Maemo 5 (Fremantle) release.
  534. */
  535. partition@0 {
  536. label = "bootloader";
  537. reg = <0x00000000 0x00020000>;
  538. read-only;
  539. };
  540. partition@1 {
  541. label = "config";
  542. reg = <0x00020000 0x00060000>;
  543. };
  544. partition@2 {
  545. label = "log";
  546. reg = <0x00080000 0x00040000>;
  547. };
  548. partition@3 {
  549. label = "kernel";
  550. reg = <0x000c0000 0x00200000>;
  551. };
  552. partition@4 {
  553. label = "initfs";
  554. reg = <0x002c0000 0x00200000>;
  555. };
  556. partition@5 {
  557. label = "rootfs";
  558. reg = <0x004c0000 0x0fb40000>;
  559. };
  560. };
  561. ethernet@gpmc {
  562. compatible = "smsc,lan91c94";
  563. status = "disabled";
  564. interrupt-parent = <&gpio2>;
  565. interrupts = <22 IRQ_TYPE_LEVEL_HIGH>; /* gpio54 */
  566. reg = <1 0x300 0xf>; /* 16 byte IO range at offset 0x300 */
  567. bank-width = <2>;
  568. pinctrl-names = "default";
  569. pinctrl-0 = <&ethernet_pins>;
  570. power-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>; /* gpio86 */
  571. reset-gpios = <&gpio6 4 GPIO_ACTIVE_HIGH>; /* gpio164 */
  572. gpmc,device-width = <2>;
  573. gpmc,sync-clk-ps = <0>;
  574. gpmc,cs-on-ns = <0>;
  575. gpmc,cs-rd-off-ns = <48>;
  576. gpmc,cs-wr-off-ns = <24>;
  577. gpmc,adv-on-ns = <0>;
  578. gpmc,adv-rd-off-ns = <0>;
  579. gpmc,adv-wr-off-ns = <0>;
  580. gpmc,we-on-ns = <12>;
  581. gpmc,we-off-ns = <18>;
  582. gpmc,oe-on-ns = <12>;
  583. gpmc,oe-off-ns = <48>;
  584. gpmc,page-burst-access-ns = <0>;
  585. gpmc,access-ns = <42>;
  586. gpmc,rd-cycle-ns = <180>;
  587. gpmc,wr-cycle-ns = <180>;
  588. gpmc,bus-turnaround-ns = <0>;
  589. gpmc,cycle2cycle-delay-ns = <0>;
  590. gpmc,wait-monitoring-ns = <0>;
  591. gpmc,clk-activation-ns = <0>;
  592. gpmc,wr-access-ns = <0>;
  593. gpmc,wr-data-mux-bus-ns = <12>;
  594. };
  595. };
  596. &mcspi1 {
  597. /*
  598. * For some reason, touchscreen is necessary for screen to work at
  599. * all on real hw. It works well without it on emulator.
  600. *
  601. * Also... order in the device tree actually matters here.
  602. */
  603. tsc2005@0 {
  604. compatible = "ti,tsc2005";
  605. spi-max-frequency = <6000000>;
  606. reg = <0>;
  607. vio-supply = <&vio>;
  608. reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */
  609. interrupts-extended = <&gpio4 4 IRQ_TYPE_EDGE_RISING>; /* 100 */
  610. touchscreen-fuzz-x = <4>;
  611. touchscreen-fuzz-y = <7>;
  612. touchscreen-fuzz-pressure = <2>;
  613. touchscreen-max-x = <4096>;
  614. touchscreen-max-y = <4096>;
  615. touchscreen-max-pressure = <2048>;
  616. ti,x-plate-ohms = <280>;
  617. ti,esd-recovery-timeout-ms = <8000>;
  618. };
  619. acx565akm@2 {
  620. compatible = "sony,acx565akm";
  621. spi-max-frequency = <6000000>;
  622. reg = <2>;
  623. pinctrl-names = "default";
  624. pinctrl-0 = <&acx565akm_pins>;
  625. label = "lcd";
  626. reset-gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>; /* 90 */
  627. port {
  628. lcd_in: endpoint {
  629. remote-endpoint = <&sdi_out>;
  630. };
  631. };
  632. };
  633. };
  634. &mcspi4 {
  635. pinctrl-names = "default";
  636. pinctrl-0 = <&mcspi4_pins>;
  637. wl1251@0 {
  638. pinctrl-names = "default";
  639. pinctrl-0 = <&wl1251_pins>;
  640. vio-supply = <&vio>;
  641. compatible = "ti,wl1251";
  642. reg = <0>;
  643. spi-max-frequency = <48000000>;
  644. spi-cpol;
  645. spi-cpha;
  646. ti,power-gpio = <&gpio3 23 GPIO_ACTIVE_HIGH>; /* 87 */
  647. interrupt-parent = <&gpio2>;
  648. interrupts = <10 IRQ_TYPE_NONE>; /* gpio line 42 */
  649. };
  650. };
  651. &usb_otg_hs {
  652. interface-type = <0>;
  653. usb-phy = <&usb2_phy>;
  654. phys = <&usb2_phy>;
  655. phy-names = "usb2-phy";
  656. mode = <2>;
  657. power = <50>;
  658. };
  659. &uart1 {
  660. status = "disabled";
  661. };
  662. &uart2 {
  663. interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>;
  664. pinctrl-names = "default";
  665. pinctrl-0 = <&uart2_pins>;
  666. };
  667. &uart3 {
  668. interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
  669. pinctrl-names = "default";
  670. pinctrl-0 = <&uart3_pins>;
  671. };
  672. &dss {
  673. status = "ok";
  674. pinctrl-names = "default";
  675. pinctrl-0 = <&dss_sdi_pins>;
  676. vdds_sdi-supply = <&vaux1>;
  677. ports {
  678. #address-cells = <1>;
  679. #size-cells = <0>;
  680. port@1 {
  681. reg = <1>;
  682. sdi_out: endpoint {
  683. remote-endpoint = <&lcd_in>;
  684. datapairs = <2>;
  685. };
  686. };
  687. };
  688. };
  689. &venc {
  690. status = "ok";
  691. vdda-supply = <&vdac>;
  692. port {
  693. venc_out: endpoint {
  694. remote-endpoint = <&tv_connector_in>;
  695. ti,channels = <1>;
  696. };
  697. };
  698. };
  699. &mcbsp2 {
  700. status = "ok";
  701. };
  702. &ssi_port1 {
  703. pinctrl-names = "default";
  704. pinctrl-0 = <&ssi_pins>;
  705. ti,ssi-cawake-gpio = <&gpio5 23 GPIO_ACTIVE_HIGH>; /* 151 */
  706. modem: hsi-client {
  707. compatible = "nokia,n900-modem";
  708. pinctrl-names = "default";
  709. pinctrl-0 = <&modem_pins>;
  710. hsi-channel-ids = <0>, <1>, <2>, <3>;
  711. hsi-channel-names = "mcsaab-control",
  712. "speech-control",
  713. "speech-data",
  714. "mcsaab-data";
  715. hsi-speed-kbps = <55000>;
  716. hsi-mode = "frame";
  717. hsi-flow = "synchronized";
  718. hsi-arb-mode = "round-robin";
  719. interrupts-extended = <&gpio3 8 IRQ_TYPE_EDGE_FALLING>; /* 72 */
  720. gpios = <&gpio3 6 GPIO_ACTIVE_HIGH>, /* 70 */
  721. <&gpio3 9 GPIO_ACTIVE_HIGH>, /* 73 */
  722. <&gpio3 10 GPIO_ACTIVE_HIGH>, /* 74 */
  723. <&gpio3 11 GPIO_ACTIVE_HIGH>, /* 75 */
  724. <&gpio5 29 GPIO_ACTIVE_HIGH>; /* 157 */
  725. gpio-names = "cmt_apeslpx",
  726. "cmt_rst_rq",
  727. "cmt_en",
  728. "cmt_rst",
  729. "cmt_bsi";
  730. };
  731. };
  732. &ssi_port2 {
  733. status = "disabled";
  734. };