ac14xx.dts 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. /*
  2. * Device Tree Source for the MPC5121e based ac14xx board
  3. *
  4. * Copyright 2012 Anatolij Gustschin <agust@denx.de>
  5. *
  6. * This program is free software; you can redistribute it and/or modify it
  7. * under the terms of the GNU General Public License as published by the
  8. * Free Software Foundation; either version 2 of the License, or (at your
  9. * option) any later version.
  10. */
  11. /include/ "mpc5121.dtsi"
  12. / {
  13. model = "ac14xx";
  14. compatible = "ifm,ac14xx", "fsl,mpc5121";
  15. #address-cells = <1>;
  16. #size-cells = <1>;
  17. aliases {
  18. serial0 = &serial0;
  19. serial1 = &serial7;
  20. spi4 = &spi4;
  21. spi5 = &spi5;
  22. };
  23. cpus {
  24. PowerPC,5121@0 {
  25. timebase-frequency = <40000000>; /* 40 MHz (csb/4) */
  26. bus-frequency = <160000000>; /* 160 MHz csb bus */
  27. clock-frequency = <400000000>; /* 400 MHz ppc core */
  28. };
  29. };
  30. memory {
  31. reg = <0x00000000 0x10000000>; /* 256MB at 0 */
  32. };
  33. nfc@40000000 {
  34. status = "disabled";
  35. };
  36. localbus@80000020 {
  37. ranges = <0x0 0x0 0xfc000000 0x04000000 /* CS0: NOR flash */
  38. 0x1 0x0 0xe0000000 0x00010000 /* CS1: FRAM */
  39. 0x2 0x0 0xe0100000 0x00080000 /* CS2: asi1 */
  40. 0x3 0x0 0xe0300000 0x00020000 /* CS3: comm */
  41. 0x5 0x0 0xe0400000 0x00010000 /* CS5: safety */
  42. 0x6 0x0 0xe0200000 0x00080000>; /* CS6: asi2 */
  43. flash@0,0 {
  44. compatible = "cfi-flash";
  45. reg = <0 0x00000000 0x04000000>;
  46. #address-cells = <1>;
  47. #size-cells = <1>;
  48. bank-width = <2>;
  49. device-width = <2>;
  50. partition@0 {
  51. label = "dtb-kernel-production";
  52. reg = <0x00000000 0x00400000>;
  53. };
  54. partition@1 {
  55. label = "filesystem-production";
  56. reg = <0x00400000 0x03400000>;
  57. };
  58. partition@2 {
  59. label = "recovery";
  60. reg = <0x03800000 0x00700000>;
  61. };
  62. partition@3 {
  63. label = "uboot-code";
  64. reg = <0x03f00000 0x00040000>;
  65. };
  66. partition@4 {
  67. label = "uboot-env1";
  68. reg = <0x03f40000 0x00020000>;
  69. };
  70. partition@5 {
  71. label = "uboot-env2";
  72. reg = <0x03f60000 0x00020000>;
  73. };
  74. };
  75. fram@1,0 {
  76. compatible = "ifm,ac14xx-fram", "linux,uio-pdrv-genirq";
  77. reg = <1 0x00000000 0x00010000>;
  78. };
  79. asi@2,0 {
  80. /* masters mapping: CS, CS offset, size */
  81. reg = <2 0x00000000 0x00080000
  82. 6 0x00000000 0x00080000>;
  83. #address-cells = <1>;
  84. #size-cells = <1>;
  85. compatible = "ifm,ac14xx-asi-fpga";
  86. gpios = <
  87. &gpio_pic 26 0 /* prog */
  88. &gpio_pic 27 0 /* done */
  89. &gpio_pic 10 0 /* reset */
  90. >;
  91. master@1 {
  92. interrupts = <20 0x2>;
  93. interrupt-parent = <&gpio_pic>;
  94. chipselect = <2 0x00009000 0x00009100>;
  95. label = "AS-i master 1";
  96. };
  97. master@2 {
  98. interrupts = <21 0x2>;
  99. interrupt-parent = <&gpio_pic>;
  100. chipselect = <6 0x00009000 0x00009100>;
  101. label = "AS-i master 2";
  102. };
  103. };
  104. netx@3,0 {
  105. compatible = "ifm,netx";
  106. reg = <0x3 0x00000000 0x00020000>;
  107. chipselect = <3 0x00101140 0x00203100>;
  108. interrupts = <17 0x8>;
  109. gpios = <&gpio_pic 15 0>;
  110. };
  111. safety@5,0 {
  112. compatible = "ifm,safety";
  113. reg = <0x5 0x00000000 0x00010000>;
  114. chipselect = <5 0x00009000 0x00009100>;
  115. interrupts = <22 0x2>;
  116. interrupt-parent = <&gpio_pic>;
  117. gpios = <
  118. &gpio_pic 12 0 /* prog */
  119. &gpio_pic 11 0 /* done */
  120. >;
  121. };
  122. };
  123. soc@80000000 {
  124. clock@f00 {
  125. compatible = "fsl,mpc5121rev2-clock", "fsl,mpc5121-clock";
  126. };
  127. /*
  128. * GPIO PIC:
  129. * interrupts cell = <pin nr, sense>
  130. * sense == 8: Level, low assertion
  131. * sense == 2: Edge, high-to-low change
  132. */
  133. gpio_pic: gpio@1100 {
  134. gpio-controller;
  135. #gpio-cells = <2>;
  136. interrupt-controller;
  137. #interrupt-cells = <2>;
  138. };
  139. sdhc@1500 {
  140. cd-gpios = <&gpio_pic 23 0>; /* card detect */
  141. wp-gpios = <&gpio_pic 24 0>; /* write protect */
  142. wp-inverted; /* WP active high */
  143. };
  144. i2c@1700 {
  145. /* use Fast-mode */
  146. clock-frequency = <400000>;
  147. at24@30 {
  148. compatible = "at24,24c01";
  149. reg = <0x30>;
  150. };
  151. at24@31 {
  152. compatible = "at24,24c01";
  153. reg = <0x31>;
  154. };
  155. temp@48 {
  156. compatible = "ad,ad7414";
  157. reg = <0x48>;
  158. };
  159. at24@50 {
  160. compatible = "at24,24c01";
  161. reg = <0x50>;
  162. };
  163. at24@51 {
  164. compatible = "at24,24c01";
  165. reg = <0x51>;
  166. };
  167. at24@52 {
  168. compatible = "at24,24c01";
  169. reg = <0x52>;
  170. };
  171. at24@53 {
  172. compatible = "at24,24c01";
  173. reg = <0x53>;
  174. };
  175. at24@54 {
  176. compatible = "at24,24c01";
  177. reg = <0x54>;
  178. };
  179. at24@55 {
  180. compatible = "at24,24c01";
  181. reg = <0x55>;
  182. };
  183. at24@56 {
  184. compatible = "at24,24c01";
  185. reg = <0x56>;
  186. };
  187. at24@57 {
  188. compatible = "at24,24c01";
  189. reg = <0x57>;
  190. };
  191. rtc@68 {
  192. compatible = "stm,m41t00";
  193. reg = <0x68>;
  194. };
  195. };
  196. axe_pic: axe-base@2000 {
  197. compatible = "fsl,mpc5121-axe-base";
  198. reg = <0x2000 0x100>;
  199. interrupts = <42 0x8>;
  200. interrupt-controller;
  201. #interrupt-cells = <2>;
  202. };
  203. axe-app {
  204. compatible = "fsl,mpc5121-axe-app";
  205. interrupt-parent = <&axe_pic>;
  206. interrupts = <
  207. /* soft interrupts */
  208. 0 0x0 1 0x0 2 0x0 3 0x0
  209. 4 0x0 5 0x0 6 0x0 7 0x0
  210. /* fifo interrupts */
  211. 8 0x0 9 0x0 10 0x0 11 0x0
  212. >;
  213. };
  214. display@2100 {
  215. edid = [00 FF FF FF FF FF FF 00 14 94 00 00 00 00 00 00
  216. 0A 12 01 03 80 1C 23 78 CA 88 FF 94 52 54 8E 27
  217. 1E 4C 50 00 00 00 01 01 01 01 01 01 01 01 01 01
  218. 01 01 01 01 01 01 FB 00 B0 14 00 DC 05 00 08 04
  219. 21 00 1C 23 00 00 00 18 00 00 00 FD 00 38 3C 1F
  220. 3C 01 0A 20 20 20 20 20 20 20 00 00 00 FC 00 45
  221. 54 30 31 38 30 30 33 44 4D 55 0A 0A 00 00 00 10
  222. 00 41 30 30 30 30 30 30 30 30 30 30 30 31 00 D5];
  223. };
  224. can@2300 {
  225. status = "disabled";
  226. };
  227. can@2380 {
  228. status = "disabled";
  229. };
  230. viu@2400 {
  231. status = "disabled";
  232. };
  233. mdio@2800 {
  234. phy0: ethernet-phy@1f {
  235. compatible = "smsc,lan8700";
  236. reg = <0x1f>;
  237. };
  238. };
  239. enet: ethernet@2800 {
  240. phy-handle = <&phy0>;
  241. };
  242. usb@3000 {
  243. status = "disabled";
  244. };
  245. usb@4000 {
  246. status = "disabled";
  247. };
  248. /* PSC3 serial port A, aka ttyPSC0 */
  249. serial0: psc@11300 {
  250. compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc";
  251. fsl,rx-fifo-size = <512>;
  252. fsl,tx-fifo-size = <512>;
  253. };
  254. /* PSC4 in SPI mode */
  255. spi4: psc@11400 {
  256. compatible = "fsl,mpc5121-psc-spi", "fsl,mpc5121-psc";
  257. fsl,rx-fifo-size = <768>;
  258. fsl,tx-fifo-size = <768>;
  259. #address-cells = <1>;
  260. #size-cells = <0>;
  261. num-cs = <1>;
  262. cs-gpios = <&gpio_pic 25 0>;
  263. flash: m25p128@0 {
  264. compatible = "st,m25p128";
  265. spi-max-frequency = <20000000>;
  266. reg = <0>;
  267. #address-cells = <1>;
  268. #size-cells = <1>;
  269. partition@0 {
  270. label = "spi-flash0";
  271. reg = <0x00000000 0x01000000>;
  272. };
  273. };
  274. };
  275. /* PSC5 in SPI mode */
  276. spi5: psc@11500 {
  277. compatible = "fsl,mpc5121-psc-spi", "fsl,mpc5121-psc";
  278. fsl,mode = "spi-master";
  279. fsl,rx-fifo-size = <128>;
  280. fsl,tx-fifo-size = <128>;
  281. #address-cells = <1>;
  282. #size-cells = <0>;
  283. lcd@0 {
  284. compatible = "ilitek,ili922x";
  285. reg = <0>;
  286. spi-max-frequency = <100000>;
  287. spi-cpol;
  288. spi-cpha;
  289. };
  290. };
  291. /* PSC7 serial port C, aka ttyPSC2 */
  292. serial7: psc@11700 {
  293. compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc";
  294. fsl,rx-fifo-size = <512>;
  295. fsl,tx-fifo-size = <512>;
  296. };
  297. matrix_keypad@0 {
  298. compatible = "gpio-matrix-keypad";
  299. debounce-delay-ms = <5>;
  300. col-scan-delay-us = <1>;
  301. gpio-activelow;
  302. col-gpios-binary;
  303. col-switch-delay-ms = <200>;
  304. col-gpios = <&gpio_pic 1 0>; /* pin1 */
  305. row-gpios = <&gpio_pic 2 0 /* pin2 */
  306. &gpio_pic 3 0 /* pin3 */
  307. &gpio_pic 4 0>; /* pin4 */
  308. linux,keymap = <0x0000006e /* FN LEFT */
  309. 0x01000067 /* UP */
  310. 0x02000066 /* FN RIGHT */
  311. 0x00010069 /* LEFT */
  312. 0x0101006a /* DOWN */
  313. 0x0201006c>; /* RIGHT */
  314. };
  315. };
  316. leds {
  317. compatible = "gpio-leds";
  318. backlight {
  319. label = "backlight";
  320. gpios = <&gpio_pic 0 0>;
  321. default-state = "keep";
  322. };
  323. green {
  324. label = "green";
  325. gpios = <&gpio_pic 18 0>;
  326. default-state = "keep";
  327. };
  328. red {
  329. label = "red";
  330. gpios = <&gpio_pic 19 0>;
  331. default-state = "keep";
  332. };
  333. };
  334. };