kirkwood-openblocks_a7.dts 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. /*
  2. * Device Tree file for OpenBlocks A7 board
  3. *
  4. * Copyright (C) 2013 Free Electrons
  5. *
  6. * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
  7. *
  8. * This file is licensed under the terms of the GNU General Public
  9. * License version 2. This program is licensed "as is" without any
  10. * warranty of any kind, whether express or implied.
  11. */
  12. /dts-v1/;
  13. #include "kirkwood.dtsi"
  14. #include "kirkwood-6282.dtsi"
  15. / {
  16. model = "Plat'Home OpenBlocksA7";
  17. compatible = "plathome,openblocks-a7", "marvell,kirkwood-88f6283", "marvell,kirkwood";
  18. memory {
  19. device_type = "memory";
  20. reg = <0x00000000 0x40000000>; /* 1 GB */
  21. };
  22. chosen {
  23. bootargs = "console=ttyS0,115200n8 earlyprintk";
  24. };
  25. ocp@f1000000 {
  26. serial@12000 {
  27. status = "ok";
  28. pinctrl-0 = <&pmx_uart0>;
  29. pinctrl-names = "default";
  30. };
  31. serial@12100 {
  32. status = "ok";
  33. pinctrl-0 = <&pmx_uart1>;
  34. pinctrl-names = "default";
  35. };
  36. sata@80000 {
  37. nr-ports = <1>;
  38. status = "okay";
  39. };
  40. i2c@11100 {
  41. status = "okay";
  42. pinctrl-0 = <&pmx_twsi1>;
  43. pinctrl-names = "default";
  44. s24c02: s24c02@50 {
  45. compatible = "24c02";
  46. reg = <0x50>;
  47. };
  48. };
  49. pinctrl: pinctrl@10000 {
  50. pinctrl-0 = <&pmx_dip_switches &pmx_gpio_header>;
  51. pinctrl-names = "default";
  52. pmx_uart0: pmx-uart0 {
  53. marvell,pins = "mpp10", "mpp11", "mpp15",
  54. "mpp16";
  55. marvell,function = "uart0";
  56. };
  57. pmx_uart1: pmx-uart1 {
  58. marvell,pins = "mpp13", "mpp14", "mpp8",
  59. "mpp9";
  60. marvell,function = "uart1";
  61. };
  62. pmx_sysrst: pmx-sysrst {
  63. marvell,pins = "mpp6";
  64. marvell,function = "sysrst";
  65. };
  66. pmx_dip_switches: pmx-dip-switches {
  67. marvell,pins = "mpp44", "mpp45", "mpp46", "mpp47";
  68. marvell,function = "gpio";
  69. };
  70. /*
  71. * Accessible on connector J202. The MPP
  72. * listed below are pin 1-7, pin 8 is unused,
  73. * pin 9 is external reset input and pin 10 is
  74. * ground.
  75. */
  76. pmx_gpio_header: pmx-gpio-header {
  77. marvell,pins = "mpp17", "mpp7", "mpp29", "mpp28",
  78. "mpp35", "mpp34", "mpp40";
  79. marvell,function = "gpio";
  80. };
  81. pmx_gpio_init: pmx-init {
  82. marvell,pins = "mpp38";
  83. marvell,function = "gpio";
  84. };
  85. pmx_usb_oc: pmx-usb-oc {
  86. marvell,pins = "mpp39";
  87. marvell,function = "gpio";
  88. };
  89. pmx_leds: pmx-leds {
  90. marvell,pins = "mpp41", "mpp42", "mpp43";
  91. marvell,function = "gpio";
  92. };
  93. pmx_ge1: pmx-ge1 {
  94. marvell,pins = "mpp20", "mpp21", "mpp22", "mpp23",
  95. "mpp24", "mpp25", "mpp26", "mpp27",
  96. "mpp30", "mpp31", "mpp32", "mpp33";
  97. marvell,function = "ge1";
  98. };
  99. };
  100. };
  101. gpio-leds {
  102. compatible = "gpio-leds";
  103. pinctrl-0 = <&pmx_leds>;
  104. pinctrl-names = "default";
  105. led-red {
  106. label = "obsa7:red:stat";
  107. gpios = <&gpio1 9 1>;
  108. };
  109. led-green {
  110. label = "obsa7:green:stat";
  111. gpios = <&gpio1 10 1>;
  112. };
  113. led-yellow {
  114. label = "obsa7:yellow:stat";
  115. gpios = <&gpio1 11 1>;
  116. };
  117. };
  118. gpio_keys {
  119. compatible = "gpio-keys";
  120. pinctrl-0 = <&pmx_gpio_init>;
  121. pinctrl-names = "default";
  122. #address-cells = <1>;
  123. #size-cells = <0>;
  124. button@1 {
  125. label = "Init Button";
  126. linux,code = <116>;
  127. gpios = <&gpio1 6 0>;
  128. };
  129. };
  130. };
  131. &nand {
  132. chip-delay = <25>;
  133. status = "okay";
  134. pinctrl-0 = <&pmx_nand>;
  135. pinctrl-names = "default";
  136. partition@0 {
  137. label = "uboot";
  138. reg = <0x0 0x1c0000>;
  139. };
  140. partition@1c0000 {
  141. label = "env";
  142. reg = <0x1c0000 0x2c0000>;
  143. };
  144. partition@480000 {
  145. label = "test";
  146. reg = <0x480000 0x160000>;
  147. };
  148. partition@5e0000 {
  149. label = "conf";
  150. reg = <0x5e0000 0x540000>;
  151. };
  152. partition@b20000 {
  153. label = "linux";
  154. reg = <0xb20000 0x3d40000>;
  155. };
  156. partition@4860000 {
  157. label = "user";
  158. reg = <0x4860000 0xb7a0000>;
  159. };
  160. };
  161. &mdio {
  162. status = "okay";
  163. ethphy0: ethernet-phy@0 {
  164. device_type = "ethernet-phy";
  165. reg = <0>;
  166. };
  167. ethphy1: ethernet-phy@1 {
  168. device_type = "ethernet-phy";
  169. reg = <1>;
  170. };
  171. };
  172. &eth0 {
  173. status = "okay";
  174. ethernet0-port@0 {
  175. phy-handle = <&ethphy0>;
  176. };
  177. };
  178. &eth1 {
  179. status = "okay";
  180. pinctrl-0 = <&pmx_ge1>;
  181. pinctrl-names = "default";
  182. ethernet1-port@0 {
  183. phy-handle = <&ethphy1>;
  184. };
  185. };