kirkwood-b3.dts 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. /*
  2. * Device Tree file for Excito Bubba B3
  3. *
  4. * Copyright (C) 2013, Andrew Lunn <andrew@lunn.ch>
  5. *
  6. * This program is free software; you can redistribute it and/or
  7. * modify it under the terms of the GNU General Public License
  8. * as published by the Free Software Foundation; either version
  9. * 2 of the License, or (at your option) any later version.
  10. *
  11. * Note: This requires a new'ish version of u-boot, which disables the
  12. * L2 cache. If your B3 silently fails to boot, u-boot is probably too
  13. * old. Either upgrade, or consider the following email:
  14. *
  15. * http://lists.debian.org/debian-arm/2012/08/msg00128.html
  16. */
  17. /dts-v1/;
  18. #include "kirkwood.dtsi"
  19. #include "kirkwood-6281.dtsi"
  20. / {
  21. model = "Excito B3";
  22. compatible = "excito,b3", "marvell,kirkwood-88f6281", "marvell,kirkwood";
  23. memory { /* 512 MB */
  24. device_type = "memory";
  25. reg = <0x00000000 0x20000000>;
  26. };
  27. chosen {
  28. bootargs = "console=ttyS0,115200n8 earlyprintk";
  29. stdout-path = &uart0;
  30. };
  31. mbus {
  32. pcie-controller {
  33. status = "okay";
  34. /* Wifi model has Atheros chipset on pcie port */
  35. pcie@1,0 {
  36. status = "okay";
  37. };
  38. };
  39. };
  40. ocp@f1000000 {
  41. pinctrl: pin-controller@10000 {
  42. pmx_button_power: pmx-button-power {
  43. marvell,pins = "mpp39";
  44. marvell,function = "gpio";
  45. };
  46. pmx_led_green: pmx-led-green {
  47. marvell,pins = "mpp38";
  48. marvell,function = "gpio";
  49. };
  50. pmx_led_red: pmx-led-red {
  51. marvell,pins = "mpp41";
  52. marvell,function = "gpio";
  53. };
  54. pmx_led_blue: pmx-led-blue {
  55. marvell,pins = "mpp42";
  56. marvell,function = "gpio";
  57. };
  58. pmx_beeper: pmx-beeper {
  59. marvell,pins = "mpp40";
  60. marvell,function = "gpio";
  61. };
  62. };
  63. spi@10600 {
  64. status = "okay";
  65. m25p16@0 {
  66. #address-cells = <1>;
  67. #size-cells = <1>;
  68. compatible = "st,m25p16";
  69. reg = <0>;
  70. spi-max-frequency = <40000000>;
  71. mode = <0>;
  72. partition@0 {
  73. reg = <0x0 0xc0000>;
  74. label = "u-boot";
  75. };
  76. partition@c0000 {
  77. reg = <0xc0000 0x20000>;
  78. label = "u-boot env";
  79. };
  80. partition@e0000 {
  81. reg = <0xe0000 0x120000>;
  82. label = "data";
  83. };
  84. };
  85. };
  86. i2c@11000 {
  87. status = "okay";
  88. /*
  89. * There is something on the bus at address 0x64.
  90. * Not yet identified what it is, maybe the eeprom
  91. * for the Atheros WiFi chip?
  92. */
  93. };
  94. serial@12000 {
  95. /* Internal on test pins, 3.3v TTL
  96. * UART0_RX = Testpoint 65
  97. * UART0_TX = Testpoint 66
  98. * See the Excito Wiki for more details.
  99. */
  100. status = "okay";
  101. };
  102. sata@80000 {
  103. /* One internal, the second as eSATA */
  104. status = "okay";
  105. nr-ports = <2>;
  106. };
  107. };
  108. gpio-leds {
  109. /*
  110. * There is one LED "port" on the front and the colours
  111. * mix together giving some interesting combinations.
  112. */
  113. compatible = "gpio-leds";
  114. pinctrl-0 = < &pmx_led_green &pmx_led_red
  115. &pmx_led_blue >;
  116. pinctrl-names = "default";
  117. programming_led {
  118. label = "bubba3:green:programming";
  119. gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
  120. default-state = "off";
  121. };
  122. error_led {
  123. label = "bubba3:red:error";
  124. gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
  125. };
  126. active_led {
  127. label = "bubba3:blue:active";
  128. gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
  129. };
  130. };
  131. gpio-keys {
  132. compatible = "gpio-keys";
  133. pinctrl-0 = <&pmx_button_power>;
  134. pinctrl-names = "default";
  135. power-button {
  136. /* On the back */
  137. label = "Power Button";
  138. linux,code = <KEY_POWER>;
  139. gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
  140. };
  141. };
  142. beeper: beeper {
  143. /* 4KHz Piezoelectric buzzer */
  144. compatible = "gpio-beeper";
  145. pinctrl-0 = <&pmx_beeper>;
  146. pinctrl-names = "default";
  147. gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
  148. };
  149. };
  150. &mdio {
  151. status = "okay";
  152. ethphy0: ethernet-phy@8 {
  153. device_type = "ethernet-phy";
  154. reg = <8>;
  155. };
  156. ethphy1: ethernet-phy@24 {
  157. device_type = "ethernet-phy";
  158. reg = <24>;
  159. };
  160. };
  161. &eth0 {
  162. status = "okay";
  163. ethernet0-port@0 {
  164. phy-handle = <&ethphy0>;
  165. };
  166. };
  167. &eth1 {
  168. status = "okay";
  169. ethernet1-port@0 {
  170. phy-handle = <&ethphy1>;
  171. };
  172. };