at91-sama5d3_xplained.dts 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  1. /*
  2. * at91-sama5d3_xplained.dts - Device Tree file for the SAMA5D3 Xplained board
  3. *
  4. * Copyright (C) 2014 Atmel,
  5. * 2014 Nicolas Ferre <nicolas.ferre@atmel.com>
  6. *
  7. * Licensed under GPLv2 or later.
  8. */
  9. /dts-v1/;
  10. #include "sama5d36.dtsi"
  11. / {
  12. model = "SAMA5D3 Xplained";
  13. compatible = "atmel,sama5d3-xplained", "atmel,sama5d3", "atmel,sama5";
  14. chosen {
  15. stdout-path = "serial0:115200n8";
  16. };
  17. memory {
  18. reg = <0x20000000 0x10000000>;
  19. };
  20. clocks {
  21. slow_xtal {
  22. clock-frequency = <32768>;
  23. };
  24. main_xtal {
  25. clock-frequency = <12000000>;
  26. };
  27. };
  28. ahb {
  29. apb {
  30. mmc0: mmc@f0000000 {
  31. pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>;
  32. vmmc-supply = <&vcc_mmc0_reg>;
  33. vqmmc-supply = <&vcc_3v3_reg>;
  34. status = "okay";
  35. slot@0 {
  36. reg = <0>;
  37. bus-width = <8>;
  38. cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>;
  39. };
  40. };
  41. mmc1: mmc@f8000000 {
  42. vmmc-supply = <&vcc_3v3_reg>;
  43. vqmmc-supply = <&vcc_3v3_reg>;
  44. status = "disabled";
  45. slot@0 {
  46. reg = <0>;
  47. bus-width = <4>;
  48. cd-gpios = <&pioE 1 GPIO_ACTIVE_LOW>;
  49. };
  50. };
  51. spi0: spi@f0004000 {
  52. cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
  53. status = "okay";
  54. };
  55. can0: can@f000c000 {
  56. status = "okay";
  57. };
  58. i2c0: i2c@f0014000 {
  59. pinctrl-0 = <&pinctrl_i2c0_pu>;
  60. status = "okay";
  61. };
  62. i2c1: i2c@f0018000 {
  63. status = "okay";
  64. pmic: act8865@5b {
  65. compatible = "active-semi,act8865";
  66. reg = <0x5b>;
  67. status = "disabled";
  68. regulators {
  69. vcc_1v8_reg: DCDC_REG1 {
  70. regulator-name = "VCC_1V8";
  71. regulator-min-microvolt = <1800000>;
  72. regulator-max-microvolt = <1800000>;
  73. regulator-always-on;
  74. };
  75. vcc_1v2_reg: DCDC_REG2 {
  76. regulator-name = "VCC_1V2";
  77. regulator-min-microvolt = <1200000>;
  78. regulator-max-microvolt = <1200000>;
  79. regulator-always-on;
  80. };
  81. vcc_3v3_reg: DCDC_REG3 {
  82. regulator-name = "VCC_3V3";
  83. regulator-min-microvolt = <3300000>;
  84. regulator-max-microvolt = <3300000>;
  85. regulator-always-on;
  86. };
  87. vddfuse_reg: LDO_REG1 {
  88. regulator-name = "FUSE_2V5";
  89. regulator-min-microvolt = <2500000>;
  90. regulator-max-microvolt = <2500000>;
  91. };
  92. vddana_reg: LDO_REG2 {
  93. regulator-name = "VDDANA";
  94. regulator-min-microvolt = <3300000>;
  95. regulator-max-microvolt = <3300000>;
  96. regulator-always-on;
  97. };
  98. };
  99. };
  100. };
  101. macb0: ethernet@f0028000 {
  102. phy-mode = "rgmii";
  103. #address-cells = <1>;
  104. #size-cells = <0>;
  105. status = "okay";
  106. ethernet-phy@7 {
  107. reg = <0x7>;
  108. };
  109. };
  110. pwm0: pwm@f002c000 {
  111. pinctrl-names = "default";
  112. pinctrl-0 = <&pinctrl_pwm0_pwmh0_0 &pinctrl_pwm0_pwmh1_0>;
  113. status = "okay";
  114. };
  115. usart0: serial@f001c000 {
  116. status = "okay";
  117. };
  118. usart1: serial@f0020000 {
  119. pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
  120. status = "okay";
  121. };
  122. uart0: serial@f0024000 {
  123. status = "okay";
  124. };
  125. mmc1: mmc@f8000000 {
  126. pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
  127. status = "okay";
  128. slot@0 {
  129. reg = <0>;
  130. bus-width = <4>;
  131. cd-gpios = <&pioE 1 GPIO_ACTIVE_HIGH>;
  132. };
  133. };
  134. spi1: spi@f8008000 {
  135. cs-gpios = <&pioC 25 0>;
  136. status = "okay";
  137. };
  138. adc0: adc@f8018000 {
  139. atmel,adc-vref = <3300>;
  140. atmel,adc-channels-used = <0xfe>;
  141. pinctrl-0 = <
  142. &pinctrl_adc0_adtrg
  143. &pinctrl_adc0_ad1
  144. &pinctrl_adc0_ad2
  145. &pinctrl_adc0_ad3
  146. &pinctrl_adc0_ad4
  147. &pinctrl_adc0_ad5
  148. &pinctrl_adc0_ad6
  149. &pinctrl_adc0_ad7
  150. >;
  151. status = "okay";
  152. };
  153. i2c2: i2c@f801c000 {
  154. dmas = <0>, <0>; /* Do not use DMA for i2c2 */
  155. pinctrl-0 = <&pinctrl_i2c2_pu>;
  156. status = "okay";
  157. };
  158. macb1: ethernet@f802c000 {
  159. phy-mode = "rmii";
  160. #address-cells = <1>;
  161. #size-cells = <0>;
  162. status = "okay";
  163. ethernet-phy@1 {
  164. reg = <0x1>;
  165. };
  166. };
  167. dbgu: serial@ffffee00 {
  168. status = "okay";
  169. };
  170. pinctrl@fffff200 {
  171. board {
  172. pinctrl_i2c0_pu: i2c0_pu {
  173. atmel,pins =
  174. <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
  175. <AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
  176. };
  177. pinctrl_i2c2_pu: i2c2_pu {
  178. atmel,pins =
  179. <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
  180. <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
  181. };
  182. pinctrl_key_gpio: key_gpio_0 {
  183. atmel,pins =
  184. <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
  185. };
  186. pinctrl_mmc0_cd: mmc0_cd {
  187. atmel,pins =
  188. <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
  189. };
  190. pinctrl_mmc1_cd: mmc1_cd {
  191. atmel,pins =
  192. <AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
  193. };
  194. pinctrl_usba_vbus: usba_vbus {
  195. atmel,pins =
  196. <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PE9, conflicts with A9 */
  197. };
  198. };
  199. };
  200. };
  201. nand0: nand@60000000 {
  202. nand-bus-width = <8>;
  203. nand-ecc-mode = "hw";
  204. atmel,has-pmecc;
  205. atmel,pmecc-cap = <4>;
  206. atmel,pmecc-sector-size = <512>;
  207. nand-on-flash-bbt;
  208. status = "okay";
  209. at91bootstrap@0 {
  210. label = "at91bootstrap";
  211. reg = <0x0 0x40000>;
  212. };
  213. bootloader@40000 {
  214. label = "bootloader";
  215. reg = <0x40000 0x80000>;
  216. };
  217. bootloaderenv@c0000 {
  218. label = "bootloader env";
  219. reg = <0xc0000 0xc0000>;
  220. };
  221. dtb@180000 {
  222. label = "device tree";
  223. reg = <0x180000 0x80000>;
  224. };
  225. kernel@200000 {
  226. label = "kernel";
  227. reg = <0x200000 0x600000>;
  228. };
  229. rootfs@800000 {
  230. label = "rootfs";
  231. reg = <0x800000 0x0f800000>;
  232. };
  233. };
  234. usb0: gadget@00500000 {
  235. atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>; /* PE9, conflicts with A9 */
  236. pinctrl-names = "default";
  237. pinctrl-0 = <&pinctrl_usba_vbus>;
  238. status = "okay";
  239. };
  240. usb1: ohci@00600000 {
  241. num-ports = <3>;
  242. atmel,vbus-gpio = <0
  243. &pioE 3 GPIO_ACTIVE_LOW
  244. &pioE 4 GPIO_ACTIVE_LOW
  245. >;
  246. status = "okay";
  247. };
  248. usb2: ehci@00700000 {
  249. status = "okay";
  250. };
  251. };
  252. vcc_mmc0_reg: fixedregulator_mmc0 {
  253. compatible = "regulator-fixed";
  254. gpio = <&pioE 2 GPIO_ACTIVE_LOW>;
  255. regulator-name = "mmc0-card-supply";
  256. regulator-min-microvolt = <3300000>;
  257. regulator-max-microvolt = <3300000>;
  258. regulator-always-on;
  259. };
  260. gpio_keys {
  261. compatible = "gpio-keys";
  262. pinctrl-names = "default";
  263. pinctrl-0 = <&pinctrl_key_gpio>;
  264. bp3 {
  265. label = "PB_USER";
  266. gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
  267. linux,code = <0x104>;
  268. wakeup-source;
  269. };
  270. };
  271. leds {
  272. compatible = "gpio-leds";
  273. d2 {
  274. label = "d2";
  275. gpios = <&pioE 23 GPIO_ACTIVE_LOW>; /* PE23, conflicts with A23, CTS2 */
  276. linux,default-trigger = "heartbeat";
  277. };
  278. d3 {
  279. label = "d3";
  280. gpios = <&pioE 24 GPIO_ACTIVE_HIGH>;
  281. };
  282. };
  283. };