at91sam9g20ek_common.dtsi 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. /*
  2. * at91sam9g20ek_common.dtsi - Device Tree file for Atmel at91sam9g20ek board
  3. *
  4. * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
  5. *
  6. * Licensed under GPLv2.
  7. */
  8. #include "at91sam9g20.dtsi"
  9. / {
  10. chosen {
  11. u-boot,dm-pre-reloc;
  12. stdout-path = &dbgu;
  13. };
  14. memory {
  15. reg = <0x20000000 0x4000000>;
  16. };
  17. clocks {
  18. slow_xtal {
  19. clock-frequency = <32768>;
  20. };
  21. main_xtal {
  22. clock-frequency = <18432000>;
  23. };
  24. };
  25. ahb {
  26. apb {
  27. pinctrl@fffff400 {
  28. board {
  29. pinctrl_pck0_as_mck: pck0_as_mck {
  30. atmel,pins =
  31. <AT91_PIOC 1 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC1 periph B */
  32. };
  33. };
  34. mmc0_slot1 {
  35. pinctrl_board_mmc0_slot1: mmc0_slot1-board {
  36. atmel,pins =
  37. <AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PC9 gpio CD pin pull up and deglitch */
  38. };
  39. };
  40. };
  41. dbgu: serial@fffff200 {
  42. u-boot,dm-pre-reloc;
  43. status = "okay";
  44. };
  45. usart0: serial@fffb0000 {
  46. pinctrl-0 =
  47. <&pinctrl_usart0
  48. &pinctrl_usart0_rts
  49. &pinctrl_usart0_cts
  50. &pinctrl_usart0_dtr_dsr
  51. &pinctrl_usart0_dcd
  52. &pinctrl_usart0_ri>;
  53. status = "okay";
  54. };
  55. usart1: serial@fffb4000 {
  56. status = "okay";
  57. };
  58. macb0: ethernet@fffc4000 {
  59. phy-mode = "rmii";
  60. status = "okay";
  61. };
  62. usb1: gadget@fffa4000 {
  63. atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
  64. status = "okay";
  65. };
  66. mmc0: mmc@fffa8000 {
  67. pinctrl-0 = <
  68. &pinctrl_board_mmc0_slot1
  69. &pinctrl_mmc0_clk
  70. &pinctrl_mmc0_slot1_cmd_dat0
  71. &pinctrl_mmc0_slot1_dat1_3>;
  72. status = "okay";
  73. slot@1 {
  74. reg = <1>;
  75. bus-width = <4>;
  76. cd-gpios = <&pioC 9 GPIO_ACTIVE_HIGH>;
  77. };
  78. };
  79. ssc0: ssc@fffbc000 {
  80. status = "okay";
  81. pinctrl-0 = <&pinctrl_ssc0_tx>;
  82. };
  83. spi0: spi@fffc8000 {
  84. cs-gpios = <0>, <&pioC 11 0>, <0>, <0>;
  85. mtd_dataflash@0 {
  86. compatible = "atmel,at45", "atmel,dataflash";
  87. spi-max-frequency = <15000000>;
  88. reg = <1>;
  89. };
  90. };
  91. shdwc@fffffd10 {
  92. atmel,wakeup-counter = <10>;
  93. atmel,wakeup-rtt-timer;
  94. };
  95. rtc@fffffd20 {
  96. atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
  97. status = "okay";
  98. };
  99. watchdog@fffffd40 {
  100. status = "okay";
  101. };
  102. gpbr: syscon@fffffd50 {
  103. status = "okay";
  104. };
  105. };
  106. nand0: nand@40000000 {
  107. nand-bus-width = <8>;
  108. nand-ecc-mode = "soft";
  109. nand-on-flash-bbt;
  110. status = "okay";
  111. at91bootstrap@0 {
  112. label = "at91bootstrap";
  113. reg = <0x0 0x20000>;
  114. };
  115. barebox@20000 {
  116. label = "barebox";
  117. reg = <0x20000 0x40000>;
  118. };
  119. bareboxenv@60000 {
  120. label = "bareboxenv";
  121. reg = <0x60000 0x20000>;
  122. };
  123. bareboxenv2@80000 {
  124. label = "bareboxenv2";
  125. reg = <0x80000 0x20000>;
  126. };
  127. oftree@80000 {
  128. label = "oftree";
  129. reg = <0xa0000 0x20000>;
  130. };
  131. kernel@a0000 {
  132. label = "kernel";
  133. reg = <0xc0000 0x400000>;
  134. };
  135. rootfs@4a0000 {
  136. label = "rootfs";
  137. reg = <0x4c0000 0x7800000>;
  138. };
  139. data@7ca0000 {
  140. label = "data";
  141. reg = <0x7cc0000 0x8340000>;
  142. };
  143. };
  144. usb0: ohci@00500000 {
  145. num-ports = <2>;
  146. status = "okay";
  147. };
  148. };
  149. i2c-gpio-0 {
  150. #address-cells = <1>;
  151. #size-cells = <0>;
  152. status = "okay";
  153. 24c512@50 {
  154. compatible = "24c512";
  155. reg = <0x50>;
  156. };
  157. wm8731: wm8731@1b {
  158. compatible = "wm8731";
  159. reg = <0x1b>;
  160. };
  161. };
  162. gpio_keys {
  163. compatible = "gpio-keys";
  164. btn3 {
  165. label = "Button 3";
  166. gpios = <&pioA 30 GPIO_ACTIVE_LOW>;
  167. linux,code = <0x103>;
  168. wakeup-source;
  169. };
  170. btn4 {
  171. label = "Button 4";
  172. gpios = <&pioA 31 GPIO_ACTIVE_LOW>;
  173. linux,code = <0x104>;
  174. wakeup-source;
  175. };
  176. };
  177. sound {
  178. compatible = "atmel,at91sam9g20ek-wm8731-audio";
  179. pinctrl-names = "default";
  180. pinctrl-0 = <&pinctrl_pck0_as_mck>;
  181. atmel,model = "wm8731 @ AT91SAMG20EK";
  182. atmel,audio-routing =
  183. "Ext Spk", "LHPOUT",
  184. "Int Mic", "MICIN";
  185. atmel,ssc-controller = <&ssc0>;
  186. atmel,audio-codec = <&wm8731>;
  187. };
  188. };