at91-sama5d3_eds.dts 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. // SPDX-License-Identifier: GPL-2.0+ OR MIT
  2. /*
  3. * at91-sama5d3_eds.dts - Device Tree file for the SAMA5D3 Ethernet
  4. * Development System board.
  5. *
  6. * Copyright (C) 2022 Microchip Technology Inc. and its subsidiaries
  7. *
  8. * Author: Jerry Ray <[email protected]>
  9. */
  10. /dts-v1/;
  11. #include "sama5d36.dtsi"
  12. / {
  13. model = "SAMA5D3 Ethernet Development System";
  14. compatible = "microchip,sama5d3-eds", "atmel,sama5d36",
  15. "atmel,sama5d3", "atmel,sama5";
  16. chosen {
  17. stdout-path = "serial0:115200n8";
  18. };
  19. gpio-keys {
  20. compatible = "gpio-keys";
  21. pinctrl-names = "default";
  22. pinctrl-0 = <&pinctrl_key_gpio>;
  23. button-3 {
  24. label = "PB_USER";
  25. gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
  26. linux,code = <0x104>;
  27. wakeup-source;
  28. };
  29. };
  30. memory@20000000 {
  31. reg = <0x20000000 0x10000000>;
  32. };
  33. vcc_3v3_reg: regulator-1 {
  34. compatible = "regulator-fixed";
  35. regulator-name = "VCC_3V3";
  36. regulator-min-microvolt = <3300000>;
  37. regulator-max-microvolt = <3300000>;
  38. regulator-always-on;
  39. };
  40. vcc_2v5_reg: regulator-2 {
  41. compatible = "regulator-fixed";
  42. regulator-name = "VCC_2V5";
  43. regulator-min-microvolt = <2500000>;
  44. regulator-max-microvolt = <2500000>;
  45. regulator-always-on;
  46. vin-supply = <&vcc_3v3_reg>;
  47. };
  48. vcc_1v8_reg: regulator-3 {
  49. compatible = "regulator-fixed";
  50. regulator-name = "VCC_1V8";
  51. regulator-min-microvolt = <1800000>;
  52. regulator-max-microvolt = <1800000>;
  53. regulator-always-on;
  54. vin-supply = <&vcc_3v3_reg>;
  55. };
  56. vcc_1v2_reg: regulator-4 {
  57. compatible = "regulator-fixed";
  58. regulator-name = "VCC_1V2";
  59. regulator-min-microvolt = <1200000>;
  60. regulator-max-microvolt = <1200000>;
  61. regulator-always-on;
  62. };
  63. vcc_mmc0_reg: regulator-5 {
  64. compatible = "regulator-fixed";
  65. regulator-name = "mmc0-card-supply";
  66. regulator-min-microvolt = <3300000>;
  67. regulator-max-microvolt = <3300000>;
  68. regulator-always-on;
  69. pinctrl-names = "default";
  70. pinctrl-0 = <&pinctrl_vcc_mmc0_reg_gpio>;
  71. gpio = <&pioE 2 GPIO_ACTIVE_LOW>;
  72. };
  73. };
  74. &can0 {
  75. status = "okay";
  76. };
  77. &dbgu {
  78. status = "okay";
  79. };
  80. &ebi {
  81. pinctrl-0 = <&pinctrl_ebi_nand_addr>;
  82. pinctrl-names = "default";
  83. status = "okay";
  84. nand_controller: nand-controller {
  85. status = "okay";
  86. nand@3 {
  87. reg = <0x3 0x0 0x2>;
  88. atmel,rb = <0>;
  89. nand-bus-width = <8>;
  90. nand-ecc-mode = "hw";
  91. nand-ecc-strength = <4>;
  92. nand-ecc-step-size = <512>;
  93. nand-on-flash-bbt;
  94. label = "atmel_nand";
  95. partitions {
  96. compatible = "fixed-partitions";
  97. #address-cells = <1>;
  98. #size-cells = <1>;
  99. at91bootstrap@0 {
  100. label = "at91bootstrap";
  101. reg = <0x0 0x40000>;
  102. };
  103. bootloader@40000 {
  104. label = "bootloader";
  105. reg = <0x40000 0xc0000>;
  106. };
  107. bootloaderenvred@100000 {
  108. label = "bootloader env redundant";
  109. reg = <0x100000 0x40000>;
  110. };
  111. bootloaderenv@140000 {
  112. label = "bootloader env";
  113. reg = <0x140000 0x40000>;
  114. };
  115. dtb@180000 {
  116. label = "device tree";
  117. reg = <0x180000 0x80000>;
  118. };
  119. kernel@200000 {
  120. label = "kernel";
  121. reg = <0x200000 0x600000>;
  122. };
  123. rootfs@800000 {
  124. label = "rootfs";
  125. reg = <0x800000 0x0f800000>;
  126. };
  127. };
  128. };
  129. };
  130. };
  131. &i2c0 {
  132. pinctrl-0 = <&pinctrl_i2c0_pu>;
  133. status = "okay";
  134. };
  135. &i2c1 {
  136. status = "okay";
  137. };
  138. &i2c2 {
  139. pinctrl-0 = <&pinctrl_i2c2_pu>;
  140. status = "okay";
  141. };
  142. &main_xtal {
  143. clock-frequency = <12000000>;
  144. };
  145. &mmc0 {
  146. pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3
  147. &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>;
  148. vmmc-supply = <&vcc_mmc0_reg>;
  149. vqmmc-supply = <&vcc_3v3_reg>;
  150. status = "okay";
  151. slot@0 {
  152. reg = <0>;
  153. bus-width = <8>;
  154. cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>;
  155. };
  156. };
  157. &pinctrl {
  158. board {
  159. pinctrl_i2c0_pu: i2c0-pu {
  160. atmel,pins =
  161. <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
  162. <AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
  163. };
  164. pinctrl_i2c2_pu: i2c2-pu {
  165. atmel,pins =
  166. <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
  167. <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
  168. };
  169. pinctrl_key_gpio: key-gpio-0 {
  170. atmel,pins =
  171. <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
  172. };
  173. pinctrl_mmc0_cd: mmc0-cd {
  174. atmel,pins =
  175. <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
  176. };
  177. /* Reserved for reset signal to the RGMII connector. */
  178. pinctrl_rgmii_rstn: rgmii-rstn {
  179. atmel,pins =
  180. <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
  181. };
  182. /* Reserved for an interrupt line from the RMII and RGMII connectors. */
  183. pinctrl_spi_irqn: spi-irqn {
  184. atmel,pins =
  185. <AT91_PIOB 28 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
  186. };
  187. pinctrl_spi0_cs: spi0-cs-default {
  188. atmel,pins =
  189. <AT91_PIOD 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
  190. AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
  191. };
  192. pinctrl_spi1_cs: spi1-cs-default {
  193. atmel,pins = <AT91_PIOC 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
  194. AT91_PIOC 28 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
  195. };
  196. pinctrl_usba_vbus: usba-vbus {
  197. atmel,pins =
  198. <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
  199. };
  200. pinctrl_usb_default: usb-default {
  201. atmel,pins =
  202. <AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
  203. AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
  204. };
  205. /* Reserved for VBUS fault interrupt. */
  206. pinctrl_vbusfault_irqn: vbusfault-irqn {
  207. atmel,pins =
  208. <AT91_PIOE 5 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
  209. };
  210. pinctrl_vcc_mmc0_reg_gpio: vcc-mmc0-reg-gpio-default {
  211. atmel,pins = <AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
  212. };
  213. };
  214. };
  215. &slow_xtal {
  216. clock-frequency = <32768>;
  217. };
  218. &spi0 {
  219. pinctrl-names = "default", "cs";
  220. pinctrl-1 = <&pinctrl_spi0_cs>;
  221. cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
  222. status = "okay";
  223. };
  224. &spi1 {
  225. pinctrl-names = "default", "cs";
  226. pinctrl-1 = <&pinctrl_spi1_cs>;
  227. cs-gpios = <&pioC 25 0>, <0>, <0>, <&pioC 28 0>;
  228. status = "okay";
  229. };
  230. &tcb0 {
  231. timer0: timer@0 {
  232. compatible = "atmel,tcb-timer";
  233. reg = <0>;
  234. };
  235. timer1: timer@1 {
  236. compatible = "atmel,tcb-timer";
  237. reg = <1>;
  238. };
  239. };
  240. &usb0 { /* USB Device port with VBUS detection. */
  241. atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>;
  242. pinctrl-names = "default";
  243. pinctrl-0 = <&pinctrl_usba_vbus>;
  244. status = "okay";
  245. };
  246. &usb1 { /* 3-port Host. First port is unused. */
  247. atmel,vbus-gpio = <0
  248. &pioE 3 GPIO_ACTIVE_HIGH
  249. &pioE 4 GPIO_ACTIVE_HIGH
  250. >;
  251. num-ports = <3>;
  252. pinctrl-names = "default";
  253. pinctrl-0 = <&pinctrl_usb_default>;
  254. status = "okay";
  255. };
  256. &usb2 {
  257. status = "okay";
  258. };