at91-som60.dtsi 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * at91-som60.dtsi - Device Tree file for the SOM60 module
  4. *
  5. * Copyright (C) 2018 Laird,
  6. * 2018 Ben Whitten <[email protected]>
  7. *
  8. */
  9. #include "sama5d36.dtsi"
  10. / {
  11. model = "Laird SOM60";
  12. compatible = "laird,som60", "atmel,sama5d36", "atmel,sama5d3", "atmel,sama5";
  13. chosen {
  14. stdout-path = &dbgu;
  15. };
  16. memory@20000000 {
  17. reg = <0x20000000 0x8000000>;
  18. };
  19. clocks {
  20. slow_xtal {
  21. clock-frequency = <32768>;
  22. };
  23. main_xtal {
  24. clock-frequency = <12000000>;
  25. };
  26. };
  27. };
  28. &pinctrl {
  29. board {
  30. pinctrl_mmc0_cd: mmc0_cd {
  31. atmel,pins =
  32. <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
  33. };
  34. pinctrl_mmc0_en: mmc0_en {
  35. atmel,pins =
  36. <AT91_PIOE 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
  37. };
  38. pinctrl_nand0_wp: nand0_wp {
  39. atmel,pins =
  40. <AT91_PIOE 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
  41. };
  42. pinctrl_usb_vbus: usb_vbus {
  43. atmel,pins =
  44. <AT91_PIOE 20 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
  45. /* Conflicts with USART2_SCK */
  46. };
  47. pinctrl_usart2_sck: usart2_sck {
  48. atmel,pins =
  49. <AT91_PIOE 20 AT91_PERIPH_B AT91_PINCTRL_NONE>;
  50. /* Conflicts with USB_VBUS */
  51. };
  52. pinctrl_usb_oc: usb_oc {
  53. atmel,pins =
  54. <AT91_PIOE 15 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
  55. /* Conflicts with USART3_SCK */
  56. };
  57. pinctrl_usart3_sck: usart3_sck {
  58. atmel,pins =
  59. <AT91_PIOE 15 AT91_PERIPH_B AT91_PINCTRL_NONE>;
  60. /* Conflicts with USB_OC */
  61. };
  62. pinctrl_usba_vbus: usba_vbus {
  63. atmel,pins =
  64. <AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
  65. };
  66. pinctrl_geth_int: geth_int {
  67. atmel,pins =
  68. <AT91_PIOB 25 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
  69. /* Conflicts with USART1_SCK */
  70. };
  71. pinctrl_usart1_sck: usart1_sck {
  72. atmel,pins =
  73. <AT91_PIOB 25 AT91_PERIPH_A AT91_PINCTRL_NONE>;
  74. /* Conflicts with GETH_INT */
  75. };
  76. pinctrl_eth_int: eth_int {
  77. atmel,pins =
  78. <AT91_PIOC 10 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
  79. };
  80. pinctrl_pck2_as_audio_mck: pck2_as_audio_mck {
  81. atmel,pins =
  82. <AT91_PIOC 15 AT91_PERIPH_B AT91_PINCTRL_NONE>;
  83. };
  84. };
  85. };
  86. &mmc0 {
  87. slot@0 {
  88. reg = <0>;
  89. bus-width = <8>;
  90. };
  91. };
  92. &mmc1 {
  93. status = "okay";
  94. slot@0 {
  95. reg = <0>;
  96. bus-width = <4>;
  97. };
  98. };
  99. &spi0 {
  100. cs-gpios = <&pioD 13 0>, <0>, <0>, <0>;
  101. };
  102. &usart0 {
  103. atmel,use-dma-rx;
  104. atmel,use-dma-tx;
  105. status = "okay";
  106. pinctrl-0 = <&pinctrl_usart0 &pinctrl_usart0_rts_cts>;
  107. };
  108. &usart1 {
  109. pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
  110. };
  111. &usart2 {
  112. pinctrl-0 = <&pinctrl_usart2 &pinctrl_usart2_rts_cts>;
  113. };
  114. &usart3 {
  115. pinctrl-0 = <&pinctrl_usart3 &pinctrl_usart3_rts_cts>;
  116. };
  117. &adc0 {
  118. pinctrl-0 = <
  119. &pinctrl_adc0_adtrg
  120. &pinctrl_adc0_ad0
  121. &pinctrl_adc0_ad1
  122. &pinctrl_adc0_ad2
  123. &pinctrl_adc0_ad3
  124. &pinctrl_adc0_ad4
  125. &pinctrl_adc0_ad5
  126. >;
  127. };
  128. &macb0 {
  129. phy-mode = "rgmii";
  130. };
  131. &macb1 {
  132. phy-mode = "rmii";
  133. };
  134. &ebi {
  135. pinctrl-0 = <&pinctrl_ebi_nand_addr>;
  136. pinctrl-names = "default";
  137. status = "okay";
  138. };
  139. &nand_controller {
  140. status = "okay";
  141. nand: nand@3 {
  142. reg = <0x3 0x0 0x2>;
  143. atmel,rb = <0>;
  144. nand-bus-width = <8>;
  145. nand-ecc-mode = "hw";
  146. nand-ecc-strength = <8>;
  147. nand-ecc-step-size = <512>;
  148. nand-on-flash-bbt;
  149. label = "atmel_nand";
  150. partitions {
  151. compatible = "fixed-partitions";
  152. #address-cells = <1>;
  153. #size-cells = <1>;
  154. ubootspl@0 {
  155. label = "u-boot-spl";
  156. reg = <0x0 0x20000>;
  157. };
  158. uboot@20000 {
  159. label = "u-boot";
  160. reg = <0x20000 0x80000>;
  161. };
  162. ubootenv@a0000 {
  163. label = "u-boot-env";
  164. reg = <0xa0000 0x20000>;
  165. };
  166. ubootenv@c0000 {
  167. label = "u-boot-env";
  168. reg = <0xc0000 0x20000>;
  169. };
  170. ubi@e0000 {
  171. label = "ubi";
  172. reg = <0xe0000 0xfe00000>;
  173. };
  174. };
  175. };
  176. };
  177. &usb0 {
  178. pinctrl-names = "default";
  179. pinctrl-0 = <&pinctrl_usba_vbus>;
  180. atmel,vbus-gpio = <&pioC 14 GPIO_ACTIVE_HIGH>;
  181. };
  182. &usb1 {
  183. pinctrl-names = "default";
  184. pinctrl-0 = <&pinctrl_usb_vbus &pinctrl_usb_oc>;
  185. num-ports = <3>;
  186. atmel,vbus-gpio = <0
  187. &pioE 20 GPIO_ACTIVE_HIGH
  188. 0>;
  189. atmel,oc-gpio = <0
  190. &pioE 15 GPIO_ACTIVE_LOW
  191. 0>;
  192. };