at91-sama5d3_acqua.dts 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. /*
  2. * acme-acqua.dts - Device Tree file for Acqua A5 Board
  3. *
  4. * Copyright (C) 2014 Atmel,
  5. * 2014 Nicolas Ferre <nicolas.ferre@atmel.com>
  6. *
  7. * 2020 Sergio Tanzilli <tanzilli@acmesystems.it>
  8. *
  9. * Licensed under GPLv2 or later.
  10. */
  11. /dts-v1/;
  12. #include "sama5d31.dtsi"
  13. / {
  14. model = "Acme Systems Acqua SOM";
  15. compatible = "acme,acqua", "atmel,sama5d3", "atmel,sama5";
  16. chosen {
  17. stdout-path = "serial0:115200n8";
  18. bootargs = "mem=256M console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait consoleblank=0";
  19. };
  20. memory {
  21. reg = <0x20000000 0x10000000>;
  22. };
  23. clocks {
  24. slow_xtal {
  25. clock-frequency = <32768>;
  26. };
  27. main_xtal {
  28. clock-frequency = <12000000>;
  29. };
  30. };
  31. ahb {
  32. apb {
  33. hlcdc: hlcdc@f0030000 {
  34. status = "disabled";
  35. hlcdc-display-controller {
  36. pinctrl-names = "default";
  37. pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888_alt>;
  38. port@0 {
  39. hlcdc_panel_output: endpoint@0 {
  40. remote-endpoint = <&panel_input>;
  41. };
  42. };
  43. };
  44. };
  45. /* MicroSD mounted on the SOM */
  46. mmc0: mmc@f0000000 {
  47. pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_cd>;
  48. status = "okay";
  49. slot@0 {
  50. reg = <0>;
  51. bus-width = <4>;
  52. };
  53. };
  54. /* Optional MicroSD to mount on the carrier board */
  55. mmc1: mmc@f8000000 {
  56. pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
  57. status = "disabled";
  58. slot@0 {
  59. reg = <0>;
  60. bus-width = <4>;
  61. cd-gpios = <&pioE 1 GPIO_ACTIVE_LOW>;
  62. };
  63. };
  64. spi0: spi@f0004000 {
  65. cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
  66. status = "disabled";
  67. };
  68. can0: can@f000c000 {
  69. status = "disabled";
  70. };
  71. tcb0: timer@f0010000 {
  72. timer0: timer@0 {
  73. compatible = "atmel,tcb-timer";
  74. reg = <0>;
  75. };
  76. timer1: timer@1 {
  77. compatible = "atmel,tcb-timer";
  78. reg = <1>;
  79. };
  80. };
  81. i2c0: i2c@f0014000 {
  82. pinctrl-0 = <&pinctrl_i2c0_pu>;
  83. status = "disabled";
  84. };
  85. i2c1: i2c@f0018000 {
  86. status = "disabled";
  87. };
  88. macb1: ethernet@f802c000 {
  89. compatible = "atmel,sama5d3-macb", "cdns,at91sam9260-macb", "cdns,macb";
  90. status = "okay";
  91. phy-mode = "rmii";
  92. #address-cells = <1>;
  93. #size-cells = <0>;
  94. nvmem-cells = <&eth0_addr>;
  95. nvmem-cell-names = "mac-address";
  96. phy0: ethernet-phy@1 {
  97. interrupt-parent = <&pioE>;
  98. interrupts = <30 IRQ_TYPE_EDGE_FALLING>;
  99. reg = <1>;
  100. };
  101. /*ethernet-phy@1 {
  102. reg = <0x1>;
  103. };*/
  104. };
  105. /* Bit banging internal I2C to manage the AT24MAC402 chip */
  106. i2c3@ {
  107. compatible = "i2c-gpio";
  108. gpios = <&pioE 1 0 /* SDA */
  109. &pioE 2 0 /* SCK */
  110. >;
  111. i2c-gpio,delay-us = <4>; /* ~178 kHz */
  112. #address-cells = <1>;
  113. #size-cells = <0>;
  114. /* EEPROM contains the eth0 MAC address */
  115. eeprom@58 {
  116. compatible = "atmel,24mac402";
  117. pagesize = <256>;
  118. read-only;
  119. reg = <0x58>;
  120. #address-cells = <1>;
  121. #size-cells = <1>;
  122. eth0_addr: eth-mac-addr@9A {
  123. reg = <0x0 0x06>;
  124. };
  125. };
  126. };
  127. pwm0: pwm@f002c000 {
  128. pinctrl-names = "default";
  129. pinctrl-0 = <&pinctrl_pwm0_pwmh0_0 &pinctrl_pwm0_pwmh1_0>;
  130. status = "disabled";
  131. };
  132. usart0: serial@f001c000 {
  133. status = "okay";
  134. };
  135. usart1: serial@f0020000 {
  136. pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
  137. status = "disabled";
  138. };
  139. uart0: serial@f0024000 {
  140. status = "disabled";
  141. };
  142. spi1: spi@f8008000 {
  143. cs-gpios = <&pioC 25 0>;
  144. status = "disabled";
  145. };
  146. adc0: adc@f8018000 {
  147. atmel,adc-vref = <3300>;
  148. atmel,adc-channels-used = <0xfe>;
  149. pinctrl-0 = <
  150. &pinctrl_adc0_adtrg
  151. &pinctrl_adc0_ad1
  152. &pinctrl_adc0_ad2
  153. &pinctrl_adc0_ad3
  154. &pinctrl_adc0_ad4
  155. &pinctrl_adc0_ad5
  156. &pinctrl_adc0_ad6
  157. &pinctrl_adc0_ad7
  158. >;
  159. status = "disabled";
  160. };
  161. i2c2: i2c@f801c000 {
  162. dmas = <0>, <0>; /* Do not use DMA for i2c2 */
  163. pinctrl-0 = <&pinctrl_i2c2_pu>;
  164. status = "disabled";
  165. };
  166. dbgu: serial@ffffee00 {
  167. status = "okay";
  168. };
  169. pinctrl@fffff200 {
  170. board {
  171. pinctrl_i2c0_pu: i2c0_pu {
  172. atmel,pins =
  173. <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
  174. <AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
  175. };
  176. pinctrl_i2c2_pu: i2c2_pu {
  177. atmel,pins =
  178. <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
  179. <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
  180. };
  181. pinctrl_key_gpio: key_gpio_0 {
  182. atmel,pins =
  183. <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
  184. };
  185. pinctrl_mmc0_cd: mmc0_cd {
  186. atmel,pins =
  187. <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
  188. };
  189. pinctrl_mmc1_cd: mmc1_cd {
  190. atmel,pins =
  191. <AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
  192. };
  193. pinctrl_usba_vbus: usba_vbus {
  194. atmel,pins =
  195. <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PE9, conflicts with A9 */
  196. };
  197. };
  198. };
  199. };
  200. usb0: gadget@500000 {
  201. status = "okay";
  202. };
  203. usb1: ohci@600000 {
  204. status = "okay";
  205. };
  206. usb2: ehci@700000 {
  207. status = "okay";
  208. };
  209. };
  210. panel: panel {
  211. /* compatible = "acme,43inch", "simple-panel"; */
  212. compatible = "acme,50inch", "simple-panel";
  213. /* compatible = "acme,70inch", "simple-panel"; */
  214. status = "disable";
  215. port@0 {
  216. panel_input: endpoint@0 {
  217. remote-endpoint = <&hlcdc_panel_output>;
  218. };
  219. };
  220. };
  221. leds {
  222. compatible = "gpio-leds";
  223. led0 {
  224. label = "led0";
  225. gpios = <&pioE 3 GPIO_ACTIVE_LOW>;
  226. default-state = "off";
  227. };
  228. led1 {
  229. label = "led1";
  230. gpios = <&pioE 4 GPIO_ACTIVE_LOW>;
  231. default-state = "off";
  232. };
  233. led2 {
  234. label = "led2";
  235. gpios = <&pioE 5 GPIO_ACTIVE_LOW>;
  236. linux,default-trigger = "heartbeat";
  237. };
  238. led3 {
  239. label = "led3";
  240. gpios = <&pioE 6 GPIO_ACTIVE_LOW>;
  241. linux,default-trigger = "mmc0";
  242. default-state = "off";
  243. };
  244. };
  245. };