omap4-var-som-om44.dtsi 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Copyright (C) 2014 Joachim Eastwood <[email protected]>
  4. * Copyright (C) 2012 Variscite Ltd. - https://www.variscite.com
  5. */
  6. #include "omap4460.dtsi"
  7. #include "omap4-mcpdm.dtsi"
  8. / {
  9. model = "Variscite VAR-SOM-OM44";
  10. compatible = "variscite,var-som-om44", "ti,omap4460", "ti,omap4";
  11. memory@80000000 {
  12. device_type = "memory";
  13. reg = <0x80000000 0x40000000>; /* 1 GB */
  14. };
  15. sound: sound {
  16. compatible = "ti,abe-twl6040";
  17. ti,model = "VAR-SOM-OM44";
  18. ti,mclk-freq = <38400000>;
  19. ti,mcpdm = <&mcpdm>;
  20. ti,twl6040 = <&twl6040>;
  21. /* Audio routing */
  22. ti,audio-routing =
  23. "Headset Stereophone", "HSOL",
  24. "Headset Stereophone", "HSOR",
  25. "AFML", "Line In",
  26. "AFMR", "Line In";
  27. };
  28. /* HS USB Host PHY on PORT 1 */
  29. hsusb1_phy: hsusb1_phy {
  30. compatible = "usb-nop-xceiv";
  31. pinctrl-names = "default";
  32. pinctrl-0 = <
  33. &hsusbb1_phy_clk_pins
  34. &hsusbb1_phy_rst_pins
  35. >;
  36. reset-gpios = <&gpio6 17 GPIO_ACTIVE_LOW>; /* gpio 177 */
  37. vcc-supply = <&vbat>;
  38. #phy-cells = <0>;
  39. clocks = <&auxclk3_ck>;
  40. clock-names = "main_clk";
  41. clock-frequency = <19200000>;
  42. };
  43. vbat: fixedregulator-vbat {
  44. compatible = "regulator-fixed";
  45. regulator-name = "VBAT";
  46. regulator-min-microvolt = <3300000>;
  47. regulator-max-microvolt = <3300000>;
  48. regulator-always-on;
  49. regulator-boot-on;
  50. };
  51. };
  52. &omap4_pmx_core {
  53. pinctrl-names = "default";
  54. pinctrl-0 = <
  55. &hsusbb1_pins
  56. >;
  57. twl6040_pins: twl6040-pins {
  58. pinctrl-single,pins = <
  59. OMAP4_IOPAD(0x19c, PIN_OUTPUT | MUX_MODE3) /* fref_clk2_out.gpio_182 */
  60. OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */
  61. >;
  62. };
  63. tsc2004_pins: tsc2004-pins {
  64. pinctrl-single,pins = <
  65. OMAP4_IOPAD(0x090, PIN_INPUT | MUX_MODE3) /* gpmc_ncs4.gpio_101 (irq) */
  66. OMAP4_IOPAD(0x092, PIN_OUTPUT | MUX_MODE3) /* gpmc_ncs5.gpio_102 (rst) */
  67. >;
  68. };
  69. uart3_pins: uart3-pins {
  70. pinctrl-single,pins = <
  71. OMAP4_IOPAD(0x140, PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_cts_rctx.uart3_cts_rctx */
  72. OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_sd.uart3_rts_sd */
  73. OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
  74. OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */
  75. >;
  76. };
  77. hsusbb1_pins: hsusbb1-pins {
  78. pinctrl-single,pins = <
  79. OMAP4_IOPAD(0x0c2, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */
  80. OMAP4_IOPAD(0x0c4, PIN_OUTPUT | MUX_MODE4) /* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */
  81. OMAP4_IOPAD(0x0c6, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dir.usbb1_ulpiphy_dir */
  82. OMAP4_IOPAD(0x0c8, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_nxt.usbb1_ulpiphy_nxt */
  83. OMAP4_IOPAD(0x0ca, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat0.usbb1_ulpiphy_dat0 */
  84. OMAP4_IOPAD(0x0cc, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat1.usbb1_ulpiphy_dat1 */
  85. OMAP4_IOPAD(0x0ce, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat2.usbb1_ulpiphy_dat2 */
  86. OMAP4_IOPAD(0x0d0, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat3.usbb1_ulpiphy_dat3 */
  87. OMAP4_IOPAD(0x0d2, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat4.usbb1_ulpiphy_dat4 */
  88. OMAP4_IOPAD(0x0d4, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat5.usbb1_ulpiphy_dat5 */
  89. OMAP4_IOPAD(0x0d6, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat6.usbb1_ulpiphy_dat6 */
  90. OMAP4_IOPAD(0x0d8, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat7.usbb1_ulpiphy_dat7 */
  91. >;
  92. };
  93. hsusbb1_phy_rst_pins: hsusbb1-phy-rst-pins {
  94. pinctrl-single,pins = <
  95. OMAP4_IOPAD(0x18c, PIN_OUTPUT | MUX_MODE3) /* kpd_row2.gpio_177 */
  96. >;
  97. };
  98. i2c1_pins: i2c1-pins {
  99. pinctrl-single,pins = <
  100. OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
  101. OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
  102. >;
  103. };
  104. i2c3_pins: i2c3-pins {
  105. pinctrl-single,pins = <
  106. OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
  107. OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
  108. >;
  109. };
  110. mmc1_pins: mmc1-pins {
  111. pinctrl-single,pins = <
  112. OMAP4_IOPAD(0x0e2, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */
  113. OMAP4_IOPAD(0x0e4, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */
  114. OMAP4_IOPAD(0x0e6, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */
  115. OMAP4_IOPAD(0x0e8, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */
  116. OMAP4_IOPAD(0x0ea, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */
  117. OMAP4_IOPAD(0x0ec, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */
  118. >;
  119. };
  120. };
  121. &omap4_pmx_wkup {
  122. pinctrl-names = "default";
  123. pinctrl-0 = <
  124. &hsusbb1_hub_rst_pins
  125. &lan7500_rst_pins
  126. >;
  127. hsusbb1_phy_clk_pins: hsusbb1-phy-clk-pins {
  128. pinctrl-single,pins = <
  129. OMAP4_IOPAD(0x058, PIN_OUTPUT | MUX_MODE0) /* fref_clk3_out */
  130. >;
  131. };
  132. hsusbb1_hub_rst_pins: hsusbb1-hub-rst-pins {
  133. pinctrl-single,pins = <
  134. OMAP4_IOPAD(0x042, PIN_OUTPUT | MUX_MODE3) /* gpio_wk1 */
  135. >;
  136. };
  137. lan7500_rst_pins: lan7500-rst-pins {
  138. pinctrl-single,pins = <
  139. OMAP4_IOPAD(0x040, PIN_OUTPUT | MUX_MODE3) /* gpio_wk0 */
  140. >;
  141. };
  142. };
  143. &i2c1 {
  144. pinctrl-names = "default";
  145. pinctrl-0 = <&i2c1_pins>;
  146. status = "okay";
  147. clock-frequency = <400000>;
  148. twl: twl@48 {
  149. reg = <0x48>;
  150. /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
  151. interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
  152. };
  153. twl6040: twl@4b {
  154. compatible = "ti,twl6040";
  155. #clock-cells = <0>;
  156. reg = <0x4b>;
  157. pinctrl-names = "default";
  158. pinctrl-0 = <&twl6040_pins>;
  159. /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
  160. interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
  161. ti,audpwron-gpio = <&gpio6 22 GPIO_ACTIVE_HIGH>; /* gpio 182 */
  162. vio-supply = <&v1v8>;
  163. v2v1-supply = <&v2v1>;
  164. enable-active-high;
  165. };
  166. };
  167. #include "twl6030.dtsi"
  168. #include "twl6030_omap4.dtsi"
  169. &vusim {
  170. regulator-min-microvolt = <3000000>;
  171. regulator-max-microvolt = <3000000>;
  172. regulator-always-on;
  173. };
  174. &i2c2 {
  175. status = "disabled";
  176. };
  177. &i2c3 {
  178. pinctrl-names = "default";
  179. pinctrl-0 = <&i2c3_pins>;
  180. status = "okay";
  181. clock-frequency = <400000>;
  182. touchscreen: tsc2004@48 {
  183. compatible = "ti,tsc2004";
  184. reg = <0x48>;
  185. pinctrl-names = "default";
  186. pinctrl-0 = <&tsc2004_pins>;
  187. interrupt-parent = <&gpio4>;
  188. interrupts = <5 IRQ_TYPE_LEVEL_LOW>; /* gpio 101 */
  189. status = "disabled";
  190. };
  191. tmp105@49 {
  192. compatible = "ti,tmp105";
  193. reg = <0x49>;
  194. };
  195. eeprom@50 {
  196. compatible = "microchip,24c32", "atmel,24c32";
  197. reg = <0x50>;
  198. };
  199. };
  200. &i2c4 {
  201. status = "disabled";
  202. };
  203. &gpmc {
  204. status = "disabled";
  205. };
  206. &mcspi1 {
  207. status = "disabled";
  208. };
  209. &mcspi2 {
  210. status = "disabled";
  211. };
  212. &mcspi3 {
  213. status = "disabled";
  214. };
  215. &mcspi4 {
  216. status = "disabled";
  217. };
  218. &mmc1 {
  219. pinctrl-names = "default";
  220. pinctrl-0 = <&mmc1_pins>;
  221. vmmc-supply = <&vmmc>;
  222. bus-width = <4>;
  223. ti,non-removable;
  224. status = "okay";
  225. };
  226. &mmc2 {
  227. status = "disabled";
  228. };
  229. &mmc3 {
  230. status = "disabled";
  231. };
  232. &mmc4 {
  233. status = "disabled";
  234. };
  235. &mmc5 {
  236. status = "disabled";
  237. };
  238. &uart1 {
  239. status = "disabled";
  240. };
  241. &uart2 {
  242. status = "disabled";
  243. };
  244. &uart3 {
  245. pinctrl-names = "default";
  246. pinctrl-0 = <&uart3_pins>;
  247. status = "okay";
  248. };
  249. &uart4 {
  250. status = "disabled";
  251. };
  252. &keypad {
  253. status = "disabled";
  254. };
  255. &twl_usb_comparator {
  256. usb-supply = <&vusb>;
  257. };
  258. &usb_otg_hs {
  259. interface-type = <1>;
  260. mode = <3>;
  261. power = <50>;
  262. };
  263. &usbhshost {
  264. port1-mode = "ehci-phy";
  265. };
  266. &usbhsehci {
  267. phys = <&hsusb1_phy>;
  268. };