db88f5281.dts 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. /*
  2. * Copyright (c) 2010 The FreeBSD Foundation
  3. * All rights reserved.
  4. *
  5. * This software was developed by Semihalf under sponsorship from
  6. * the FreeBSD Foundation.
  7. *
  8. * Redistribution and use in source and binary forms, with or without
  9. * modification, are permitted provided that the following conditions
  10. * are met:
  11. * 1. Redistributions of source code must retain the above copyright
  12. * notice, this list of conditions and the following disclaimer.
  13. * 2. Redistributions in binary form must reproduce the above copyright
  14. * notice, this list of conditions and the following disclaimer in the
  15. * documentation and/or other materials provided with the distribution.
  16. *
  17. * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  18. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  19. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  20. * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  21. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  22. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  23. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  24. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  25. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  26. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  27. * SUCH DAMAGE.
  28. *
  29. * Marvell DB-88F5281 Device Tree Source.
  30. *
  31. * $FreeBSD$
  32. */
  33. /dts-v1/;
  34. / {
  35. model = "mrvl,DB-88F5281";
  36. compatible = "DB-88F5281-BP", "DB-88F5281-BP-A";
  37. #address-cells = <1>;
  38. #size-cells = <1>;
  39. aliases {
  40. ethernet0 = &enet0;
  41. serial0 = &serial0;
  42. serial1 = &serial1;
  43. mpp = &MPP;
  44. };
  45. cpus {
  46. #address-cells = <1>;
  47. #size-cells = <0>;
  48. cpu@0 {
  49. device_type = "cpu";
  50. compatible = "ARM,88FR531";
  51. reg = <0x0>;
  52. d-cache-line-size = <32>; // 32 bytes
  53. i-cache-line-size = <32>; // 32 bytes
  54. d-cache-size = <0x8000>; // L1, 32K
  55. i-cache-size = <0x8000>; // L1, 32K
  56. timebase-frequency = <0>;
  57. bus-frequency = <0>;
  58. clock-frequency = <0>;
  59. };
  60. };
  61. memory {
  62. device_type = "memory";
  63. reg = <0x0 0x08000000>; // 128M at 0x0
  64. };
  65. localbus@f1000000 {
  66. #address-cells = <2>;
  67. #size-cells = <1>;
  68. compatible = "mrvl,lbc";
  69. /* This reflects CPU decode windows setup. */
  70. ranges = <0x0 0x0f 0xf9300000 0x00100000
  71. 0x1 0x1e 0xfa000000 0x00100000
  72. 0x2 0x1d 0xfa100000 0x02000000>;
  73. nor@0,0 {
  74. #address-cells = <1>;
  75. #size-cells = <1>;
  76. compatible = "cfi-flash";
  77. reg = <0x0 0x0 0x00100000>;
  78. bank-width = <2>;
  79. device-width = <1>;
  80. };
  81. led@1,0 {
  82. #address-cells = <1>;
  83. #size-cells = <1>;
  84. compatible = "led";
  85. reg = <0x1 0x0 0x00100000>;
  86. };
  87. nor@2,0 {
  88. #address-cells = <1>;
  89. #size-cells = <1>;
  90. compatible = "cfi-flash";
  91. reg = <0x2 0x0 0x02000000>;
  92. bank-width = <2>;
  93. device-width = <1>;
  94. };
  95. };
  96. soc88f5281@f1000000 {
  97. #address-cells = <1>;
  98. #size-cells = <1>;
  99. compatible = "simple-bus";
  100. ranges = <0x0 0xf1000000 0x00100000>;
  101. bus-frequency = <0>;
  102. PIC: pic@20200 {
  103. interrupt-controller;
  104. #address-cells = <0>;
  105. #interrupt-cells = <1>;
  106. reg = <0x20200 0x3c>;
  107. compatible = "mrvl,pic";
  108. };
  109. timer@20300 {
  110. compatible = "mrvl,timer";
  111. reg = <0x20300 0x30>;
  112. interrupts = <0>;
  113. interrupt-parent = <&PIC>;
  114. mrvl,has-wdt;
  115. };
  116. MPP: mpp@10000 {
  117. #pin-cells = <2>;
  118. compatible = "mrvl,mpp";
  119. reg = <0x10000 0x54>;
  120. pin-count = <20>;
  121. pin-map = <
  122. 0 3 /* MPP[0]: GPIO[0] */
  123. 2 2 /* MPP[2]: PCI_REQn[3] */
  124. 3 2 /* MPP[3]: PCI_GNTn[3] */
  125. 4 2 /* MPP[4]: PCI_REQn[4] */
  126. 5 2 /* MPP[5]: PCI_GNTn[4] */
  127. 6 3 /* MPP[6]: <UNKNOWN> */
  128. 7 3 /* MPP[7]: <UNKNOWN> */
  129. 8 3 /* MPP[8]: <UNKNOWN> */
  130. 9 3 /* MPP[9]: <UNKNOWN> */
  131. 14 4 /* MPP[14]: NAND Flash REn[2] */
  132. 15 4 /* MPP[15]: NAND Flash WEn[2] */
  133. 16 0 /* MPP[16]: UA1_RXD */
  134. 17 0 /* MPP[17]: UA1_TXD */
  135. 18 0 /* MPP[18]: UA1_CTS */
  136. 19 0 >; /* MPP[19]: UA1_RTS */
  137. };
  138. GPIO: gpio@10100 {
  139. #gpio-cells = <2>;
  140. compatible = "mrvl,gpio";
  141. reg = <0x10100 0x20>;
  142. gpio-controller;
  143. interrupts = <6 7 8 9>;
  144. interrupt-parent = <&PIC>;
  145. };
  146. twsi@11000 {
  147. #address-cells = <1>;
  148. #size-cells = <0>;
  149. compatible = "mrvl,twsi";
  150. reg = <0x11000 0x20>;
  151. interrupts = <43>;
  152. interrupt-parent = <&PIC>;
  153. };
  154. enet0: ethernet@72000 {
  155. #address-cells = <1>;
  156. #size-cells = <1>;
  157. model = "V1";
  158. compatible = "mrvl,ge";
  159. reg = <0x72000 0x2000>;
  160. ranges = <0x0 0x72000 0x2000>;
  161. local-mac-address = [ 00 00 00 00 00 00 ];
  162. interrupts = <18 19 20 21 22>;
  163. interrupt-parent = <&PIC>;
  164. phy-handle = <&phy0>;
  165. mdio@0 {
  166. #address-cells = <1>;
  167. #size-cells = <0>;
  168. compatible = "mrvl,mdio";
  169. phy0: ethernet-phy@0 {
  170. reg = <0x8>;
  171. };
  172. };
  173. };
  174. serial0: serial@12000 {
  175. compatible = "ns16550";
  176. reg = <0x12000 0x20>;
  177. reg-shift = <2>;
  178. clock-frequency = <0>;
  179. interrupts = <3>;
  180. interrupt-parent = <&PIC>;
  181. };
  182. serial1: serial@12100 {
  183. compatible = "ns16550";
  184. reg = <0x12100 0x20>;
  185. reg-shift = <2>;
  186. clock-frequency = <0>;
  187. interrupts = <4>;
  188. interrupt-parent = <&PIC>;
  189. };
  190. usb@50000 {
  191. compatible = "mrvl,usb-ehci", "usb-ehci";
  192. reg = <0x50000 0x1000>;
  193. interrupts = <17 16>;
  194. interrupt-parent = <&PIC>;
  195. };
  196. idma@60000 {
  197. compatible = "mrvl,idma";
  198. reg = <0x60000 0x1000>;
  199. interrupts = <24 25 26 27 23>;
  200. interrupt-parent = <&PIC>;
  201. };
  202. };
  203. };