gef_sbc610.dts 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. /*
  2. * GE SBC610 Device Tree Source
  3. *
  4. * Copyright 2008 GE Intelligent Platforms Embedded Systems, Inc.
  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. * Based on: SBS CM6 Device Tree Source
  12. * Copyright 2007 SBS Technologies GmbH & Co. KG
  13. * And: mpc8641_hpcn.dts (MPC8641 HPCN Device Tree Source)
  14. * Copyright 2006 Freescale Semiconductor Inc.
  15. */
  16. /*
  17. * Compiled with dtc -I dts -O dtb -o gef_sbc610.dtb gef_sbc610.dts
  18. */
  19. /include/ "mpc8641si-pre.dtsi"
  20. / {
  21. model = "GEF_SBC610";
  22. compatible = "gef,sbc610";
  23. memory {
  24. device_type = "memory";
  25. reg = <0x0 0x40000000>; // set by uboot
  26. };
  27. lbc: localbus@fef05000 {
  28. reg = <0xfef05000 0x1000>;
  29. ranges = <0 0 0xff000000 0x01000000 // 16MB Boot flash
  30. 1 0 0xe8000000 0x08000000 // Paged Flash 0
  31. 2 0 0xe0000000 0x08000000 // Paged Flash 1
  32. 3 0 0xfc100000 0x00020000 // NVRAM
  33. 4 0 0xfc000000 0x00008000 // FPGA
  34. 5 0 0xfc008000 0x00008000 // AFIX FPGA
  35. 6 0 0xfd000000 0x00800000 // IO FPGA (8-bit)
  36. 7 0 0xfd800000 0x00800000>; // IO FPGA (32-bit)
  37. /* flash@0,0 is a mirror of part of the memory in flash@1,0
  38. flash@0,0 {
  39. compatible = "gef,sbc610-firmware-mirror", "cfi-flash";
  40. reg = <0x0 0x0 0x1000000>;
  41. bank-width = <4>;
  42. device-width = <2>;
  43. #address-cells = <1>;
  44. #size-cells = <1>;
  45. partition@0 {
  46. label = "firmware";
  47. reg = <0x0 0x1000000>;
  48. read-only;
  49. };
  50. };
  51. */
  52. flash@1,0 {
  53. compatible = "gef,sbc610-paged-flash", "cfi-flash";
  54. reg = <0x1 0x0 0x8000000>;
  55. bank-width = <4>;
  56. device-width = <2>;
  57. #address-cells = <1>;
  58. #size-cells = <1>;
  59. partition@0 {
  60. label = "user";
  61. reg = <0x0 0x7800000>;
  62. };
  63. partition@7800000 {
  64. label = "firmware";
  65. reg = <0x7800000 0x800000>;
  66. read-only;
  67. };
  68. };
  69. nvram@3,0 {
  70. device_type = "nvram";
  71. compatible = "simtek,stk14ca8";
  72. reg = <0x3 0x0 0x20000>;
  73. };
  74. fpga@4,0 {
  75. compatible = "gef,fpga-regs";
  76. reg = <0x4 0x0 0x40>;
  77. };
  78. wdt@4,2000 {
  79. compatible = "gef,fpga-wdt";
  80. reg = <0x4 0x2000 0x8>;
  81. interrupts = <0x1a 0x4>;
  82. interrupt-parent = <&gef_pic>;
  83. };
  84. /* Second watchdog available, driver currently supports one.
  85. wdt@4,2010 {
  86. compatible = "gef,fpga-wdt";
  87. reg = <0x4 0x2010 0x8>;
  88. interrupts = <0x1b 0x4>;
  89. interrupt-parent = <&gef_pic>;
  90. };
  91. */
  92. gef_pic: pic@4,4000 {
  93. #interrupt-cells = <1>;
  94. interrupt-controller;
  95. compatible = "gef,fpga-pic";
  96. reg = <0x4 0x4000 0x20>;
  97. interrupts = <0x8 0x9 0 0>;
  98. };
  99. gef_gpio: gpio@7,14000 {
  100. #gpio-cells = <2>;
  101. compatible = "gef,sbc610-gpio";
  102. reg = <0x7 0x14000 0x24>;
  103. gpio-controller;
  104. };
  105. };
  106. soc: soc@fef00000 {
  107. ranges = <0x0 0xfef00000 0x00100000>;
  108. i2c@3000 {
  109. hwmon@48 {
  110. compatible = "national,lm92";
  111. reg = <0x48>;
  112. };
  113. hwmon@4c {
  114. compatible = "adi,adt7461";
  115. reg = <0x4c>;
  116. };
  117. rtc@51 {
  118. compatible = "epson,rx8581";
  119. reg = <0x00000051>;
  120. };
  121. eti@6b {
  122. compatible = "dallas,ds1682";
  123. reg = <0x6b>;
  124. };
  125. };
  126. enet0: ethernet@24000 {
  127. tbi-handle = <&tbi0>;
  128. phy-handle = <&phy0>;
  129. phy-connection-type = "gmii";
  130. };
  131. mdio@24520 {
  132. phy0: ethernet-phy@0 {
  133. interrupt-parent = <&gef_pic>;
  134. interrupts = <0x9 0x4>;
  135. reg = <1>;
  136. };
  137. phy2: ethernet-phy@2 {
  138. interrupt-parent = <&gef_pic>;
  139. interrupts = <0x8 0x4>;
  140. reg = <3>;
  141. };
  142. tbi0: tbi-phy@11 {
  143. reg = <0x11>;
  144. device_type = "tbi-phy";
  145. };
  146. };
  147. enet1: ethernet@26000 {
  148. tbi-handle = <&tbi2>;
  149. phy-handle = <&phy2>;
  150. phy-connection-type = "gmii";
  151. };
  152. mdio@26520 {
  153. tbi2: tbi-phy@11 {
  154. reg = <0x11>;
  155. device_type = "tbi-phy";
  156. };
  157. };
  158. enet2: ethernet@25000 {
  159. status = "disabled";
  160. };
  161. mdio@25520 {
  162. status = "disabled";
  163. };
  164. enet3: ethernet@27000 {
  165. status = "disabled";
  166. };
  167. mdio@27520 {
  168. status = "disabled";
  169. };
  170. };
  171. pci0: pcie@fef08000 {
  172. reg = <0xfef08000 0x1000>;
  173. ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x40000000
  174. 0x01000000 0x0 0x00000000 0xfe000000 0x0 0x00400000>;
  175. pcie@0 {
  176. ranges = <0x02000000 0x0 0x80000000
  177. 0x02000000 0x0 0x80000000
  178. 0x0 0x40000000
  179. 0x01000000 0x0 0x00000000
  180. 0x01000000 0x0 0x00000000
  181. 0x0 0x00400000>;
  182. };
  183. };
  184. pci1: pcie@fef09000 {
  185. status = "disabled";
  186. };
  187. };
  188. /include/ "mpc8641si-post.dtsi"