at91-sama5d4_xplained.dts 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. /*
  2. * at91-sama5d4_xplained.dts - Device Tree file for SAMA5D4 Xplained board
  3. *
  4. * Copyright (C) 2015 Atmel,
  5. * 2015 Josh Wu <josh.wu@atmel.com>
  6. *
  7. * This file is dual-licensed: you can use it either under the terms
  8. * of the GPL or the X11 license, at your option. Note that this dual
  9. * licensing only applies to this file, and not this project as a
  10. * whole.
  11. *
  12. * a) This file is free software; you can redistribute it and/or
  13. * modify it under the terms of the GNU General Public License as
  14. * published by the Free Software Foundation; either version 2 of the
  15. * License, or (at your option) any later version.
  16. *
  17. * This file is distributed in the hope that it will be useful,
  18. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  19. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  20. * GNU General Public License for more details.
  21. *
  22. * Or, alternatively,
  23. *
  24. * b) Permission is hereby granted, free of charge, to any person
  25. * obtaining a copy of this software and associated documentation
  26. * files (the "Software"), to deal in the Software without
  27. * restriction, including without limitation the rights to use,
  28. * copy, modify, merge, publish, distribute, sublicense, and/or
  29. * sell copies of the Software, and to permit persons to whom the
  30. * Software is furnished to do so, subject to the following
  31. * conditions:
  32. *
  33. * The above copyright notice and this permission notice shall be
  34. * included in all copies or substantial portions of the Software.
  35. *
  36. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  37. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  38. * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  39. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  40. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  41. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  42. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  43. * OTHER DEALINGS IN THE SOFTWARE.
  44. */
  45. /dts-v1/;
  46. #include "sama5d4.dtsi"
  47. / {
  48. model = "Atmel SAMA5D4 Xplained";
  49. compatible = "atmel,sama5d4-xplained", "atmel,sama5d4", "atmel,sama5";
  50. aliases {
  51. spi0 = &spi0;
  52. };
  53. chosen {
  54. u-boot,dm-pre-reloc;
  55. stdout-path = &usart3;
  56. };
  57. memory {
  58. reg = <0x20000000 0x20000000>;
  59. };
  60. clocks {
  61. slow_xtal {
  62. clock-frequency = <32768>;
  63. };
  64. main_xtal {
  65. clock-frequency = <12000000>;
  66. };
  67. };
  68. ahb {
  69. apb {
  70. hlcdc: hlcdc@f0000000 {
  71. atmel,vl-bpix = <4>;
  72. atmel,guard-time = <1>;
  73. pinctrl-names = "default";
  74. pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_pwm &pinctrl_lcd_rgb888>;
  75. status = "okay";
  76. u-boot,dm-pre-reloc;
  77. display-timings {
  78. u-boot,dm-pre-reloc;
  79. 480x272 {
  80. clock-frequency = <9000000>;
  81. hactive = <480>;
  82. vactive = <272>;
  83. hsync-len = <41>;
  84. hfront-porch = <2>;
  85. hback-porch = <2>;
  86. vfront-porch = <2>;
  87. vback-porch = <2>;
  88. vsync-len = <11>;
  89. u-boot,dm-pre-reloc;
  90. };
  91. };
  92. };
  93. spi0: spi@f8010000 {
  94. u-boot,dm-pre-reloc;
  95. cs-gpios = <&pioC 3 0>, <0>, <0>, <0>;
  96. status = "okay";
  97. spi_flash@0 {
  98. u-boot,dm-pre-reloc;
  99. compatible = "spi-flash";
  100. spi-max-frequency = <50000000>;
  101. reg = <0>;
  102. };
  103. };
  104. i2c0: i2c@f8014000 {
  105. status = "okay";
  106. i2c_eeprom: i2c_eeprom@5c {
  107. compatible = "atmel,24mac402";
  108. reg = <0x5c>;
  109. };
  110. };
  111. macb0: ethernet@f8020000 {
  112. phy-mode = "rmii";
  113. status = "okay";
  114. pinctrl-names = "default";
  115. pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>;
  116. phy0: ethernet-phy@1 {
  117. interrupt-parent = <&pioE>;
  118. interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
  119. reg = <1>;
  120. };
  121. };
  122. mmc1: mmc@fc000000 {
  123. u-boot,dm-pre-reloc;
  124. pinctrl-names = "default";
  125. pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
  126. vmmc-supply = <&vcc_mmc1_reg>;
  127. vqmmc-supply = <&vcc_3v3_reg>;
  128. status = "okay";
  129. slot@0 {
  130. reg = <0>;
  131. bus-width = <4>;
  132. cd-gpios = <&pioE 3 0>;
  133. };
  134. };
  135. usart3: serial@fc00c000 {
  136. u-boot,dm-pre-reloc;
  137. status = "okay";
  138. };
  139. usart4: serial@fc010000 {
  140. status = "okay";
  141. };
  142. spi1: spi@fc018000 {
  143. cs-gpios = <&pioB 21 0>;
  144. status = "okay";
  145. };
  146. adc0: adc@fc034000 {
  147. pinctrl-names = "default";
  148. pinctrl-0 = <
  149. /* external trigger conflicts with USBA_VBUS */
  150. &pinctrl_adc0_ad0
  151. &pinctrl_adc0_ad1
  152. &pinctrl_adc0_ad2
  153. &pinctrl_adc0_ad3
  154. &pinctrl_adc0_ad4
  155. >;
  156. atmel,adc-vref = <3300>;
  157. status = "okay";
  158. };
  159. watchdog@fc068640 {
  160. status = "okay";
  161. };
  162. pinctrl@fc06a000 {
  163. board {
  164. u-boot,dm-pre-reloc;
  165. pinctrl_mmc1_cd: mmc1_cd {
  166. u-boot,dm-pre-reloc;
  167. atmel,pins =
  168. <AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
  169. };
  170. pinctrl_usba_vbus: usba_vbus {
  171. atmel,pins =
  172. <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
  173. };
  174. pinctrl_key_gpio: key_gpio_0 {
  175. atmel,pins =
  176. <AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
  177. };
  178. pinctrl_macb0_phy_irq: macb0_phy_irq_0 {
  179. atmel,pins =
  180. <AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
  181. };
  182. };
  183. };
  184. };
  185. usb0: gadget@00400000 {
  186. atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>;
  187. pinctrl-names = "default";
  188. pinctrl-0 = <&pinctrl_usba_vbus>;
  189. status = "okay";
  190. };
  191. usb1: ohci@00500000 {
  192. num-ports = <3>;
  193. atmel,vbus-gpio = <0
  194. &pioE 11 GPIO_ACTIVE_HIGH
  195. &pioE 14 GPIO_ACTIVE_HIGH
  196. >;
  197. status = "okay";
  198. };
  199. usb2: ehci@00600000 {
  200. status = "okay";
  201. };
  202. nand0: nand@80000000 {
  203. nand-bus-width = <8>;
  204. nand-ecc-mode = "hw";
  205. nand-on-flash-bbt;
  206. atmel,has-pmecc;
  207. status = "okay";
  208. at91bootstrap@0 {
  209. label = "at91bootstrap";
  210. reg = <0x0 0x40000>;
  211. };
  212. bootloader@40000 {
  213. label = "bootloader";
  214. reg = <0x40000 0x80000>;
  215. };
  216. bootloaderenv@c0000 {
  217. label = "bootloader env";
  218. reg = <0xc0000 0xc0000>;
  219. };
  220. dtb@180000 {
  221. label = "device tree";
  222. reg = <0x180000 0x80000>;
  223. };
  224. kernel@200000 {
  225. label = "kernel";
  226. reg = <0x200000 0x600000>;
  227. };
  228. rootfs@800000 {
  229. label = "rootfs";
  230. reg = <0x800000 0x0f800000>;
  231. };
  232. };
  233. };
  234. gpio_keys {
  235. compatible = "gpio-keys";
  236. pinctrl-names = "default";
  237. pinctrl-0 = <&pinctrl_key_gpio>;
  238. pb_user1 {
  239. label = "pb_user1";
  240. gpios = <&pioE 8 GPIO_ACTIVE_HIGH>;
  241. linux,code = <0x100>;
  242. wakeup-source;
  243. };
  244. };
  245. leds {
  246. compatible = "gpio-leds";
  247. status = "okay";
  248. d8 {
  249. label = "d8";
  250. gpios = <&pioD 30 GPIO_ACTIVE_HIGH>;
  251. default-state = "on";
  252. };
  253. d10 {
  254. label = "d10";
  255. gpios = <&pioE 15 GPIO_ACTIVE_LOW>;
  256. linux,default-trigger = "heartbeat";
  257. };
  258. };
  259. vcc_3v3_reg: fixedregulator@0 {
  260. compatible = "regulator-fixed";
  261. regulator-name = "VCC 3V3";
  262. regulator-min-microvolt = <3300000>;
  263. regulator-max-microvolt = <3300000>;
  264. regulator-boot-on;
  265. regulator-always-on;
  266. reg = <0 1>;
  267. };
  268. vcc_mmc1_reg: fixedregulator@1 {
  269. compatible = "regulator-fixed";
  270. gpio = <&pioE 4 GPIO_ACTIVE_LOW>;
  271. regulator-name = "VDD MCI1";
  272. regulator-min-microvolt = <3300000>;
  273. regulator-max-microvolt = <3300000>;
  274. vin-supply = <&vcc_3v3_reg>;
  275. regulator-always-on;
  276. reg = <1 1>;
  277. };
  278. };