omap3-ldp.dts 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. /*
  2. * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License version 2 as
  6. * published by the Free Software Foundation.
  7. */
  8. /dts-v1/;
  9. #include "omap34xx.dtsi"
  10. #include "omap-gpmc-smsc911x.dtsi"
  11. / {
  12. model = "TI OMAP3430 LDP (Zoom1 Labrador)";
  13. compatible = "ti,omap3-ldp", "ti,omap3";
  14. memory {
  15. device_type = "memory";
  16. reg = <0x80000000 0x8000000>; /* 128 MB */
  17. };
  18. cpus {
  19. cpu@0 {
  20. cpu0-supply = <&vcc>;
  21. };
  22. };
  23. gpio_keys {
  24. compatible = "gpio-keys";
  25. pinctrl-names = "default";
  26. pinctrl-0 = <&gpio_key_pins>;
  27. key_enter {
  28. label = "enter";
  29. gpios = <&gpio4 5 GPIO_ACTIVE_LOW>; /* gpio101 */
  30. linux,code = <0x0107001c>; /* KEY_ENTER */
  31. gpio-key,wakeup;
  32. };
  33. key_f1 {
  34. label = "f1";
  35. gpios = <&gpio4 6 GPIO_ACTIVE_LOW>; /* gpio102 */
  36. linux,code = <0x0303003b>; /* KEY_F1 */
  37. gpio-key,wakeup;
  38. };
  39. key_f2 {
  40. label = "f2";
  41. gpios = <&gpio4 7 GPIO_ACTIVE_LOW>; /* gpio103 */
  42. linux,code = <0x0403003c>; /* KEY_F2 */
  43. gpio-key,wakeup;
  44. };
  45. key_f3 {
  46. label = "f3";
  47. gpios = <&gpio4 8 GPIO_ACTIVE_LOW>; /* gpio104 */
  48. linux,code = <0x0503003d>; /* KEY_F3 */
  49. gpio-key,wakeup;
  50. };
  51. key_f4 {
  52. label = "f4";
  53. gpios = <&gpio4 9 GPIO_ACTIVE_LOW>; /* gpio105 */
  54. linux,code = <0x0704003e>; /* KEY_F4 */
  55. gpio-key,wakeup;
  56. };
  57. key_left {
  58. label = "left";
  59. gpios = <&gpio4 10 GPIO_ACTIVE_LOW>; /* gpio106 */
  60. linux,code = <0x04070069>; /* KEY_LEFT */
  61. gpio-key,wakeup;
  62. };
  63. key_right {
  64. label = "right";
  65. gpios = <&gpio4 11 GPIO_ACTIVE_LOW>; /* gpio107 */
  66. linux,code = <0x0507006a>; /* KEY_RIGHT */
  67. gpio-key,wakeup;
  68. };
  69. key_up {
  70. label = "up";
  71. gpios = <&gpio4 12 GPIO_ACTIVE_LOW>; /* gpio108 */
  72. linux,code = <0x06070067>; /* KEY_UP */
  73. gpio-key,wakeup;
  74. };
  75. key_down {
  76. label = "down";
  77. gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; /* gpio109 */
  78. linux,code = <0x0707006c>; /* KEY_DOWN */
  79. gpio-key,wakeup;
  80. };
  81. };
  82. };
  83. &gpmc {
  84. ranges = <0 0 0x00000000 0x01000000>,
  85. <1 0 0x08000000 0x01000000>;
  86. nand@0,0 {
  87. linux,mtd-name= "micron,nand";
  88. reg = <0 0 0>;
  89. nand-bus-width = <16>;
  90. ti,nand-ecc-opt = "bch8";
  91. gpmc,sync-clk-ps = <0>;
  92. gpmc,cs-on-ns = <0>;
  93. gpmc,cs-rd-off-ns = <44>;
  94. gpmc,cs-wr-off-ns = <44>;
  95. gpmc,adv-on-ns = <6>;
  96. gpmc,adv-rd-off-ns = <34>;
  97. gpmc,adv-wr-off-ns = <44>;
  98. gpmc,we-off-ns = <40>;
  99. gpmc,oe-off-ns = <54>;
  100. gpmc,access-ns = <64>;
  101. gpmc,rd-cycle-ns = <82>;
  102. gpmc,wr-cycle-ns = <82>;
  103. gpmc,wr-access-ns = <40>;
  104. gpmc,wr-data-mux-bus-ns = <0>;
  105. #address-cells = <1>;
  106. #size-cells = <1>;
  107. partition@0 {
  108. label = "X-Loader";
  109. reg = <0 0x80000>;
  110. };
  111. partition@80000 {
  112. label = "U-Boot";
  113. reg = <0x80000 0x140000>;
  114. };
  115. partition@1c0000 {
  116. label = "Environment";
  117. reg = <0x1c0000 0x40000>;
  118. };
  119. partition@200000 {
  120. label = "Kernel";
  121. reg = <0x200000 0x1e00000>;
  122. };
  123. partition@2000000 {
  124. label = "Filesystem";
  125. reg = <0x2000000 0xe000000>;
  126. };
  127. };
  128. ethernet@gpmc {
  129. interrupt-parent = <&gpio5>;
  130. interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
  131. reg = <1 0 0xff>;
  132. };
  133. };
  134. &i2c1 {
  135. clock-frequency = <2600000>;
  136. twl: twl@48 {
  137. reg = <0x48>;
  138. interrupts = <7>; /* SYS_NIRQ cascaded to intc */
  139. interrupt-parent = <&intc>;
  140. twl_power: power {
  141. compatible = "ti,twl4030-power-idle";
  142. ti,use_poweroff;
  143. };
  144. };
  145. };
  146. #include "twl4030.dtsi"
  147. #include "twl4030_omap3.dtsi"
  148. #include "omap3-panel-sharp-ls037v7dw01.dtsi"
  149. &backlight0 {
  150. gpios = <&twl_gpio 7 GPIO_ACTIVE_HIGH>;
  151. };
  152. &i2c2 {
  153. clock-frequency = <400000>;
  154. };
  155. &i2c3 {
  156. clock-frequency = <400000>;
  157. };
  158. /* tps61130rsa enabled by twl4030 regen */
  159. &lcd_3v3 {
  160. regulator-always-on;
  161. };
  162. &lcd0 {
  163. enable-gpios = <&twl_gpio 15 GPIO_ACTIVE_HIGH>; /* lcd INI */
  164. reset-gpios = <&gpio2 23 GPIO_ACTIVE_HIGH>; /* gpio55, lcd RESB */
  165. mode-gpios = <&gpio2 24 GPIO_ACTIVE_HIGH>; /* gpio56, lcd MO */
  166. };
  167. &mcspi1 {
  168. tsc2046@0 {
  169. interrupt-parent = <&gpio2>;
  170. interrupts = <22 0>; /* gpio54 */
  171. pendown-gpio = <&gpio2 22 0>;
  172. };
  173. };
  174. &mmc1 {
  175. /* See 35xx errata 2.1.1.128 in SPRZ278F */
  176. compatible = "ti,omap3-pre-es3-hsmmc";
  177. vmmc-supply = <&vmmc1>;
  178. bus-width = <4>;
  179. pinctrl-names = "default";
  180. pinctrl-0 = <&mmc1_pins>;
  181. };
  182. &mmc2 {
  183. status="disabled";
  184. };
  185. &mmc3 {
  186. status="disabled";
  187. };
  188. &omap3_pmx_core {
  189. gpio_key_pins: pinmux_gpio_key_pins {
  190. pinctrl-single,pins = <
  191. 0xea (PIN_INPUT | MUX_MODE4) /* cam_d2.gpio_101 */
  192. 0xec (PIN_INPUT | MUX_MODE4) /* cam_d3.gpio_102 */
  193. 0xee (PIN_INPUT | MUX_MODE4) /* cam_d4.gpio_103 */
  194. 0xf0 (PIN_INPUT | MUX_MODE4) /* cam_d5.gpio_104 */
  195. 0xf2 (PIN_INPUT | MUX_MODE4) /* cam_d6.gpio_105 */
  196. 0xf4 (PIN_INPUT | MUX_MODE4) /* cam_d7.gpio_106 */
  197. 0xf6 (PIN_INPUT | MUX_MODE4) /* cam_d8.gpio_107 */
  198. 0xf8 (PIN_INPUT | MUX_MODE4) /* cam_d9.gpio_108 */
  199. 0xfa (PIN_INPUT | MUX_MODE4) /* cam_d10.gpio_109 */
  200. >;
  201. };
  202. musb_pins: pinmux_musb_pins {
  203. pinctrl-single,pins = <
  204. 0x172 (PIN_INPUT | MUX_MODE0) /* hsusb0_clk.hsusb0_clk */
  205. 0x17a (PIN_INPUT | MUX_MODE0) /* hsusb0_data0.hsusb0_data0 */
  206. 0x17c (PIN_INPUT | MUX_MODE0) /* hsusb0_data1.hsusb0_data1 */
  207. 0x17e (PIN_INPUT | MUX_MODE0) /* hsusb0_data2.hsusb0_data2 */
  208. 0x180 (PIN_INPUT | MUX_MODE0) /* hsusb0_data3.hsusb0_data3 */
  209. 0x182 (PIN_INPUT | MUX_MODE0) /* hsusb0_data4.hsusb0_data4 */
  210. 0x184 (PIN_INPUT | MUX_MODE0) /* hsusb0_data5.hsusb0_data5 */
  211. 0x186 (PIN_INPUT | MUX_MODE0) /* hsusb0_data6.hsusb0_data6 */
  212. 0x188 (PIN_INPUT | MUX_MODE0) /* hsusb0_data7.hsusb0_data7 */
  213. 0x176 (PIN_INPUT | MUX_MODE0) /* hsusb0_dir.hsusb0_dir */
  214. 0x178 (PIN_INPUT | MUX_MODE0) /* hsusb0_nxt.hsusb0_nxt */
  215. 0x174 (PIN_OUTPUT | MUX_MODE0) /* hsusb0_stp.hsusb0_stp */
  216. >;
  217. };
  218. mmc1_pins: pinmux_mmc1_pins {
  219. pinctrl-single,pins = <
  220. OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.mmc1_clk */
  221. OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.mmc1_cmd */
  222. OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.mmc1_dat0 */
  223. OMAP3_CORE1_IOPAD(0x214A, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.mmc1_dat1 */
  224. OMAP3_CORE1_IOPAD(0x214C, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.mmc1_dat2 */
  225. OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.mmc1_dat3 */
  226. >;
  227. };
  228. };
  229. &uart3 {
  230. interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
  231. };
  232. &usb_otg_hs {
  233. pinctrl-names = "default";
  234. pinctrl-0 = <&musb_pins>;
  235. interface-type = <0>;
  236. usb-phy = <&usb2_phy>;
  237. mode = <3>;
  238. power = <50>;
  239. };
  240. &vaux1 {
  241. /* Needed for ads7846 */
  242. regulator-name = "vcc";
  243. };