imx27-phytec-phycore-rdk.dts 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  1. /*
  2. * The code contained herein is licensed under the GNU General Public
  3. * License. You may obtain a copy of the GNU General Public License
  4. * Version 2 or later at the following locations:
  5. *
  6. * http://www.opensource.org/licenses/gpl-license.html
  7. * http://www.gnu.org/copyleft/gpl.html
  8. */
  9. #include "imx27-phytec-phycore-som.dtsi"
  10. / {
  11. model = "Phytec pcm970";
  12. compatible = "phytec,imx27-pcm970", "phytec,imx27-pcm038", "fsl,imx27";
  13. chosen {
  14. stdout-path = &uart1;
  15. };
  16. display0: LQ035Q7 {
  17. model = "Sharp-LQ035Q7";
  18. native-mode = <&timing0>;
  19. bits-per-pixel = <16>;
  20. fsl,pcr = <0xf00080c0>;
  21. display-timings {
  22. timing0: 240x320 {
  23. clock-frequency = <5500000>;
  24. hactive = <240>;
  25. vactive = <320>;
  26. hback-porch = <5>;
  27. hsync-len = <7>;
  28. hfront-porch = <16>;
  29. vback-porch = <7>;
  30. vsync-len = <1>;
  31. vfront-porch = <9>;
  32. pixelclk-active = <1>;
  33. hsync-active = <1>;
  34. vsync-active = <1>;
  35. de-active = <0>;
  36. };
  37. };
  38. };
  39. regulators {
  40. regulator@2 {
  41. compatible = "regulator-fixed";
  42. pinctrl-names = "default";
  43. pinctrl-0 = <&pinctrl_csien>;
  44. reg = <2>;
  45. regulator-name = "CSI_EN";
  46. regulator-min-microvolt = <3300000>;
  47. regulator-max-microvolt = <3300000>;
  48. gpio = <&gpio2 24 GPIO_ACTIVE_LOW>;
  49. regulator-always-on;
  50. };
  51. };
  52. usbphy {
  53. usbphy2: usbphy@2 {
  54. compatible = "usb-nop-xceiv";
  55. reg = <2>;
  56. vcc-supply = <&reg_5v0>;
  57. clocks = <&clks IMX27_CLK_DUMMY>;
  58. clock-names = "main_clk";
  59. };
  60. };
  61. };
  62. &cspi1 {
  63. pinctrl-0 = <&pinctrl_cspi1>, <&pinctrl_cspi1cs1>;
  64. fsl,spi-num-chipselects = <2>;
  65. cs-gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>,
  66. <&gpio4 27 GPIO_ACTIVE_LOW>;
  67. };
  68. &fb {
  69. pinctrl-names = "default";
  70. pinctrl-0 = <&pinctrl_imxfb1>;
  71. display = <&display0>;
  72. lcd-supply = <&reg_5v0>;
  73. fsl,dmacr = <0x00020010>;
  74. fsl,lscr1 = <0x00120300>;
  75. fsl,lpccr = <0x00a903ff>;
  76. status = "okay";
  77. };
  78. &i2c1 {
  79. clock-frequency = <400000>;
  80. pinctrl-names = "default";
  81. pinctrl-0 = <&pinctrl_i2c1>;
  82. status = "okay";
  83. camgpio: pca9536@41 {
  84. compatible = "nxp,pca9536";
  85. reg = <0x41>;
  86. gpio-controller;
  87. #gpio-cells = <2>;
  88. };
  89. };
  90. &iomuxc {
  91. imx27_phycore_rdk {
  92. pinctrl_csien: csiengrp {
  93. fsl,pins = <
  94. MX27_PAD_USB_OC_B__GPIO2_24 0x0
  95. >;
  96. };
  97. pinctrl_cspi1cs1: cspi1cs1grp {
  98. fsl,pins = <
  99. MX27_PAD_CSPI1_SS1__GPIO4_27 0x0
  100. >;
  101. };
  102. pinctrl_imxfb1: imxfbgrp {
  103. fsl,pins = <
  104. MX27_PAD_LD0__LD0 0x0
  105. MX27_PAD_LD1__LD1 0x0
  106. MX27_PAD_LD2__LD2 0x0
  107. MX27_PAD_LD3__LD3 0x0
  108. MX27_PAD_LD4__LD4 0x0
  109. MX27_PAD_LD5__LD5 0x0
  110. MX27_PAD_LD6__LD6 0x0
  111. MX27_PAD_LD7__LD7 0x0
  112. MX27_PAD_LD8__LD8 0x0
  113. MX27_PAD_LD9__LD9 0x0
  114. MX27_PAD_LD10__LD10 0x0
  115. MX27_PAD_LD11__LD11 0x0
  116. MX27_PAD_LD12__LD12 0x0
  117. MX27_PAD_LD13__LD13 0x0
  118. MX27_PAD_LD14__LD14 0x0
  119. MX27_PAD_LD15__LD15 0x0
  120. MX27_PAD_LD16__LD16 0x0
  121. MX27_PAD_LD17__LD17 0x0
  122. MX27_PAD_CLS__CLS 0x0
  123. MX27_PAD_CONTRAST__CONTRAST 0x0
  124. MX27_PAD_LSCLK__LSCLK 0x0
  125. MX27_PAD_OE_ACD__OE_ACD 0x0
  126. MX27_PAD_PS__PS 0x0
  127. MX27_PAD_REV__REV 0x0
  128. MX27_PAD_SPL_SPR__SPL_SPR 0x0
  129. MX27_PAD_HSYNC__HSYNC 0x0
  130. MX27_PAD_VSYNC__VSYNC 0x0
  131. >;
  132. };
  133. pinctrl_i2c1: i2c1grp {
  134. /* Add pullup to DATA line */
  135. fsl,pins = <
  136. MX27_PAD_I2C_DATA__I2C_DATA 0x1
  137. MX27_PAD_I2C_CLK__I2C_CLK 0x0
  138. >;
  139. };
  140. pinctrl_owire1: owire1grp {
  141. fsl,pins = <
  142. MX27_PAD_RTCK__OWIRE 0x0
  143. >;
  144. };
  145. pinctrl_sdhc2: sdhc2grp {
  146. fsl,pins = <
  147. MX27_PAD_SD2_CLK__SD2_CLK 0x0
  148. MX27_PAD_SD2_CMD__SD2_CMD 0x0
  149. MX27_PAD_SD2_D0__SD2_D0 0x0
  150. MX27_PAD_SD2_D1__SD2_D1 0x0
  151. MX27_PAD_SD2_D2__SD2_D2 0x0
  152. MX27_PAD_SD2_D3__SD2_D3 0x0
  153. MX27_PAD_SSI3_FS__GPIO3_28 0x0 /* WP */
  154. MX27_PAD_SSI3_RXDAT__GPIO3_29 0x0 /* CD */
  155. >;
  156. };
  157. pinctrl_uart1: uart1grp {
  158. fsl,pins = <
  159. MX27_PAD_UART1_TXD__UART1_TXD 0x0
  160. MX27_PAD_UART1_RXD__UART1_RXD 0x0
  161. MX27_PAD_UART1_CTS__UART1_CTS 0x0
  162. MX27_PAD_UART1_RTS__UART1_RTS 0x0
  163. >;
  164. };
  165. pinctrl_uart2: uart2grp {
  166. fsl,pins = <
  167. MX27_PAD_UART2_TXD__UART2_TXD 0x0
  168. MX27_PAD_UART2_RXD__UART2_RXD 0x0
  169. MX27_PAD_UART2_CTS__UART2_CTS 0x0
  170. MX27_PAD_UART2_RTS__UART2_RTS 0x0
  171. >;
  172. };
  173. pinctrl_usbh2: usbh2grp {
  174. fsl,pins = <
  175. MX27_PAD_USBH2_CLK__USBH2_CLK 0x0
  176. MX27_PAD_USBH2_DIR__USBH2_DIR 0x0
  177. MX27_PAD_USBH2_NXT__USBH2_NXT 0x0
  178. MX27_PAD_USBH2_STP__USBH2_STP 0x0
  179. MX27_PAD_CSPI2_SCLK__USBH2_DATA0 0x0
  180. MX27_PAD_CSPI2_MOSI__USBH2_DATA1 0x0
  181. MX27_PAD_CSPI2_MISO__USBH2_DATA2 0x0
  182. MX27_PAD_CSPI2_SS1__USBH2_DATA3 0x0
  183. MX27_PAD_CSPI2_SS2__USBH2_DATA4 0x0
  184. MX27_PAD_CSPI1_SS2__USBH2_DATA5 0x0
  185. MX27_PAD_CSPI2_SS0__USBH2_DATA6 0x0
  186. MX27_PAD_USBH2_DATA7__USBH2_DATA7 0x0
  187. >;
  188. };
  189. pinctrl_weim: weimgrp {
  190. fsl,pins = <
  191. MX27_PAD_CS4_B__CS4_B 0x0 /* CS4 */
  192. MX27_PAD_SD1_D1__GPIO5_19 0x0 /* CAN IRQ */
  193. >;
  194. };
  195. };
  196. };
  197. &owire {
  198. pinctrl-names = "default";
  199. pinctrl-0 = <&pinctrl_owire1>;
  200. status = "okay";
  201. };
  202. &pmicleds {
  203. ledr1: led@3 {
  204. reg = <3>;
  205. label = "system:red1:user";
  206. };
  207. ledg1: led@4 {
  208. reg = <4>;
  209. label = "system:green1:user";
  210. };
  211. ledb1: led@5 {
  212. reg = <5>;
  213. label = "system:blue1:user";
  214. };
  215. ledr2: led@6 {
  216. reg = <6>;
  217. label = "system:red2:user";
  218. };
  219. ledg2: led@7 {
  220. reg = <7>;
  221. label = "system:green2:user";
  222. };
  223. ledb2: led@8 {
  224. reg = <8>;
  225. label = "system:blue2:user";
  226. };
  227. ledr3: led@9 {
  228. reg = <9>;
  229. label = "system:red3:nand";
  230. linux,default-trigger = "nand-disk";
  231. };
  232. ledg3: led@10 {
  233. reg = <10>;
  234. label = "system:green3:live";
  235. linux,default-trigger = "heartbeat";
  236. };
  237. ledb3: led@11 {
  238. reg = <11>;
  239. label = "system:blue3:cpu";
  240. linux,default-trigger = "cpu0";
  241. };
  242. };
  243. &sdhci2 {
  244. pinctrl-names = "default";
  245. pinctrl-0 = <&pinctrl_sdhc2>;
  246. bus-width = <4>;
  247. cd-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
  248. wp-gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
  249. vmmc-supply = <&vmmc1_reg>;
  250. status = "okay";
  251. };
  252. &uart1 {
  253. uart-has-rtscts;
  254. pinctrl-names = "default";
  255. pinctrl-0 = <&pinctrl_uart1>;
  256. status = "okay";
  257. };
  258. &uart2 {
  259. uart-has-rtscts;
  260. pinctrl-names = "default";
  261. pinctrl-0 = <&pinctrl_uart2>;
  262. status = "okay";
  263. };
  264. &usbh2 {
  265. pinctrl-names = "default";
  266. pinctrl-0 = <&pinctrl_usbh2>;
  267. dr_mode = "host";
  268. phy_type = "ulpi";
  269. vbus-supply = <&reg_5v0>;
  270. fsl,usbphy = <&usbphy2>;
  271. disable-over-current;
  272. status = "okay";
  273. };
  274. &weim {
  275. pinctrl-names = "default";
  276. pinctrl-0 = <&pinctrl_weim>;
  277. can@4,0 {
  278. compatible = "nxp,sja1000";
  279. reg = <4 0x00000000 0x00000100>;
  280. interrupt-parent = <&gpio5>;
  281. interrupts = <19 IRQ_TYPE_EDGE_FALLING>;
  282. nxp,external-clock-frequency = <16000000>;
  283. nxp,tx-output-config = <0x16>;
  284. nxp,no-comparator-bypass;
  285. fsl,weim-cs-timing = <0x0000dcf6 0x444a0301 0x44443302>;
  286. };
  287. };