imx27-phytec-phycore-som.dtsi 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  1. /*
  2. * Copyright 2012 Sascha Hauer, Pengutronix
  3. *
  4. * The code contained herein is licensed under the GNU General Public
  5. * License. You may obtain a copy of the GNU General Public License
  6. * Version 2 or later at the following locations:
  7. *
  8. * http://www.opensource.org/licenses/gpl-license.html
  9. * http://www.gnu.org/copyleft/gpl.html
  10. */
  11. /dts-v1/;
  12. #include "imx27.dtsi"
  13. / {
  14. model = "Phytec pcm038";
  15. compatible = "phytec,imx27-pcm038", "fsl,imx27";
  16. memory {
  17. reg = <0xa0000000 0x08000000>;
  18. };
  19. regulators {
  20. compatible = "simple-bus";
  21. #address-cells = <1>;
  22. #size-cells = <0>;
  23. reg_3v3: regulator@0 {
  24. compatible = "regulator-fixed";
  25. reg = <0>;
  26. regulator-name = "3V3";
  27. regulator-min-microvolt = <3300000>;
  28. regulator-max-microvolt = <3300000>;
  29. };
  30. reg_5v0: regulator@1 {
  31. compatible = "regulator-fixed";
  32. reg = <1>;
  33. regulator-name = "5V0";
  34. regulator-min-microvolt = <5000000>;
  35. regulator-max-microvolt = <5000000>;
  36. };
  37. };
  38. usbphy {
  39. compatible = "simple-bus";
  40. #address-cells = <1>;
  41. #size-cells = <0>;
  42. usbphy0: usbphy@0 {
  43. compatible = "usb-nop-xceiv";
  44. reg = <0>;
  45. vcc-supply = <&sw3_reg>;
  46. clocks = <&clks IMX27_CLK_DUMMY>;
  47. clock-names = "main_clk";
  48. };
  49. };
  50. };
  51. &audmux {
  52. status = "okay";
  53. /* SSI0 <=> PINS_4 (MC13783 Audio) */
  54. ssi0 {
  55. fsl,audmux-port = <0>;
  56. fsl,port-config = <0xcb205000>;
  57. };
  58. pins4 {
  59. fsl,audmux-port = <2>;
  60. fsl,port-config = <0x00001000>;
  61. };
  62. };
  63. &cspi1 {
  64. pinctrl-names = "default";
  65. pinctrl-0 = <&pinctrl_cspi1>;
  66. fsl,spi-num-chipselects = <1>;
  67. cs-gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
  68. status = "okay";
  69. pmic: mc13783@0 {
  70. compatible = "fsl,mc13783";
  71. pinctrl-names = "default";
  72. pinctrl-0 = <&pinctrl_pmic>;
  73. reg = <0>;
  74. spi-cs-high;
  75. spi-max-frequency = <20000000>;
  76. interrupt-parent = <&gpio2>;
  77. interrupts = <23 IRQ_TYPE_LEVEL_HIGH>;
  78. fsl,mc13xxx-uses-adc;
  79. fsl,mc13xxx-uses-rtc;
  80. pmicleds: leds {
  81. #address-cells = <1>;
  82. #size-cells = <0>;
  83. led-control = <0x001 0x000 0x000 0x000 0x000 0x000>;
  84. };
  85. regulators {
  86. /* SW1A and SW1B joined operation */
  87. sw1_reg: sw1a {
  88. regulator-min-microvolt = <1200000>;
  89. regulator-max-microvolt = <1520000>;
  90. regulator-always-on;
  91. regulator-boot-on;
  92. };
  93. /* SW2A and SW2B joined operation */
  94. sw2_reg: sw2a {
  95. regulator-min-microvolt = <1800000>;
  96. regulator-max-microvolt = <1800000>;
  97. regulator-always-on;
  98. regulator-boot-on;
  99. };
  100. sw3_reg: sw3 {
  101. regulator-min-microvolt = <5000000>;
  102. regulator-max-microvolt = <5000000>;
  103. regulator-always-on;
  104. regulator-boot-on;
  105. };
  106. vaudio_reg: vaudio {
  107. regulator-always-on;
  108. regulator-boot-on;
  109. };
  110. violo_reg: violo {
  111. regulator-min-microvolt = <1800000>;
  112. regulator-max-microvolt = <1800000>;
  113. regulator-always-on;
  114. regulator-boot-on;
  115. };
  116. viohi_reg: viohi {
  117. regulator-always-on;
  118. regulator-boot-on;
  119. };
  120. vgen_reg: vgen {
  121. regulator-min-microvolt = <1500000>;
  122. regulator-max-microvolt = <1500000>;
  123. regulator-always-on;
  124. regulator-boot-on;
  125. };
  126. vcam_reg: vcam {
  127. regulator-min-microvolt = <2800000>;
  128. regulator-max-microvolt = <2800000>;
  129. };
  130. vrf1_reg: vrf1 {
  131. regulator-min-microvolt = <2775000>;
  132. regulator-max-microvolt = <2775000>;
  133. regulator-always-on;
  134. regulator-boot-on;
  135. };
  136. vrf2_reg: vrf2 {
  137. regulator-min-microvolt = <2775000>;
  138. regulator-max-microvolt = <2775000>;
  139. regulator-always-on;
  140. regulator-boot-on;
  141. };
  142. vmmc1_reg: vmmc1 {
  143. regulator-min-microvolt = <1600000>;
  144. regulator-max-microvolt = <3000000>;
  145. };
  146. gpo1_reg: gpo1 { };
  147. pwgt1spi_reg: pwgt1spi {
  148. regulator-always-on;
  149. };
  150. };
  151. };
  152. };
  153. &fec {
  154. phy-mode = "mii";
  155. phy-reset-gpios = <&gpio3 30 GPIO_ACTIVE_LOW>;
  156. phy-supply = <&reg_3v3>;
  157. pinctrl-names = "default";
  158. pinctrl-0 = <&pinctrl_fec1>;
  159. status = "okay";
  160. };
  161. &i2c2 {
  162. clock-frequency = <400000>;
  163. pinctrl-names = "default";
  164. pinctrl-0 = <&pinctrl_i2c2>;
  165. status = "okay";
  166. at24@52 {
  167. compatible = "at,24c32";
  168. pagesize = <32>;
  169. reg = <0x52>;
  170. };
  171. pcf8563@51 {
  172. compatible = "nxp,pcf8563";
  173. reg = <0x51>;
  174. };
  175. lm75@4a {
  176. compatible = "national,lm75";
  177. reg = <0x4a>;
  178. };
  179. };
  180. &iomuxc {
  181. imx27_phycore_som {
  182. pinctrl_cspi1: cspi1grp {
  183. fsl,pins = <
  184. MX27_PAD_CSPI1_MISO__CSPI1_MISO 0x0
  185. MX27_PAD_CSPI1_MOSI__CSPI1_MOSI 0x0
  186. MX27_PAD_CSPI1_SCLK__CSPI1_SCLK 0x0
  187. MX27_PAD_CSPI1_SS0__GPIO4_28 0x0 /* SPI1 CS0 */
  188. >;
  189. };
  190. pinctrl_fec1: fec1grp {
  191. fsl,pins = <
  192. MX27_PAD_SD3_CMD__FEC_TXD0 0x0
  193. MX27_PAD_SD3_CLK__FEC_TXD1 0x0
  194. MX27_PAD_ATA_DATA0__FEC_TXD2 0x0
  195. MX27_PAD_ATA_DATA1__FEC_TXD3 0x0
  196. MX27_PAD_ATA_DATA2__FEC_RX_ER 0x0
  197. MX27_PAD_ATA_DATA3__FEC_RXD1 0x0
  198. MX27_PAD_ATA_DATA4__FEC_RXD2 0x0
  199. MX27_PAD_ATA_DATA5__FEC_RXD3 0x0
  200. MX27_PAD_ATA_DATA6__FEC_MDIO 0x0
  201. MX27_PAD_ATA_DATA7__FEC_MDC 0x0
  202. MX27_PAD_ATA_DATA8__FEC_CRS 0x0
  203. MX27_PAD_ATA_DATA9__FEC_TX_CLK 0x0
  204. MX27_PAD_ATA_DATA10__FEC_RXD0 0x0
  205. MX27_PAD_ATA_DATA11__FEC_RX_DV 0x0
  206. MX27_PAD_ATA_DATA12__FEC_RX_CLK 0x0
  207. MX27_PAD_ATA_DATA13__FEC_COL 0x0
  208. MX27_PAD_ATA_DATA14__FEC_TX_ER 0x0
  209. MX27_PAD_ATA_DATA15__FEC_TX_EN 0x0
  210. MX27_PAD_SSI3_TXDAT__GPIO3_30 0x0 /* FEC RST */
  211. >;
  212. };
  213. pinctrl_i2c2: i2c2grp {
  214. fsl,pins = <
  215. MX27_PAD_I2C2_SDA__I2C2_SDA 0x0
  216. MX27_PAD_I2C2_SCL__I2C2_SCL 0x0
  217. >;
  218. };
  219. pinctrl_nfc: nfcgrp {
  220. fsl,pins = <
  221. MX27_PAD_NFRB__NFRB 0x0
  222. MX27_PAD_NFCLE__NFCLE 0x0
  223. MX27_PAD_NFWP_B__NFWP_B 0x0
  224. MX27_PAD_NFCE_B__NFCE_B 0x0
  225. MX27_PAD_NFALE__NFALE 0x0
  226. MX27_PAD_NFRE_B__NFRE_B 0x0
  227. MX27_PAD_NFWE_B__NFWE_B 0x0
  228. >;
  229. };
  230. pinctrl_pmic: pmicgrp {
  231. fsl,pins = <
  232. MX27_PAD_USB_PWR__GPIO2_23 0x0 /* PMIC IRQ */
  233. >;
  234. };
  235. pinctrl_ssi1: ssi1grp {
  236. fsl,pins = <
  237. MX27_PAD_SSI1_FS__SSI1_FS 0x0
  238. MX27_PAD_SSI1_RXDAT__SSI1_RXDAT 0x0
  239. MX27_PAD_SSI1_TXDAT__SSI1_TXDAT 0x0
  240. MX27_PAD_SSI1_CLK__SSI1_CLK 0x0
  241. >;
  242. };
  243. pinctrl_usbotg: usbotggrp {
  244. fsl,pins = <
  245. MX27_PAD_USBOTG_CLK__USBOTG_CLK 0x0
  246. MX27_PAD_USBOTG_DIR__USBOTG_DIR 0x0
  247. MX27_PAD_USBOTG_NXT__USBOTG_NXT 0x0
  248. MX27_PAD_USBOTG_STP__USBOTG_STP 0x0
  249. MX27_PAD_USBOTG_DATA0__USBOTG_DATA0 0x0
  250. MX27_PAD_USBOTG_DATA1__USBOTG_DATA1 0x0
  251. MX27_PAD_USBOTG_DATA2__USBOTG_DATA2 0x0
  252. MX27_PAD_USBOTG_DATA3__USBOTG_DATA3 0x0
  253. MX27_PAD_USBOTG_DATA4__USBOTG_DATA4 0x0
  254. MX27_PAD_USBOTG_DATA5__USBOTG_DATA5 0x0
  255. MX27_PAD_USBOTG_DATA6__USBOTG_DATA6 0x0
  256. MX27_PAD_USBOTG_DATA7__USBOTG_DATA7 0x0
  257. >;
  258. };
  259. };
  260. };
  261. &nfc {
  262. pinctrl-names = "default";
  263. pinctrl-0 = <&pinctrl_nfc>;
  264. nand-bus-width = <8>;
  265. nand-ecc-mode = "hw";
  266. nand-on-flash-bbt;
  267. status = "okay";
  268. };
  269. &ssi1 {
  270. pinctrl-names = "default";
  271. pinctrl-0 = <&pinctrl_ssi1>;
  272. status = "okay";
  273. };
  274. &usbotg {
  275. pinctrl-names = "default";
  276. pinctrl-0 = <&pinctrl_usbotg>;
  277. dr_mode = "otg";
  278. phy_type = "ulpi";
  279. fsl,usbphy = <&usbphy0>;
  280. vbus-supply = <&sw3_reg>;
  281. disable-over-current;
  282. status = "okay";
  283. };
  284. &weim {
  285. status = "okay";
  286. nor: nor@0,0 {
  287. compatible = "cfi-flash";
  288. reg = <0 0x00000000 0x02000000>;
  289. bank-width = <2>;
  290. linux,mtd-name = "physmap-flash.0";
  291. fsl,weim-cs-timing = <0x22c2cf00 0x75000d01 0x00000900>;
  292. #address-cells = <1>;
  293. #size-cells = <1>;
  294. };
  295. sram: sram@1,0 {
  296. compatible = "mtd-ram";
  297. reg = <1 0x00000000 0x00800000>;
  298. bank-width = <2>;
  299. linux,mtd-name = "mtd-ram.0";
  300. fsl,weim-cs-timing = <0x0000d843 0x22252521 0x22220a00>;
  301. #address-cells = <1>;
  302. #size-cells = <1>;
  303. };
  304. };