sama5d3xmb.dtsi 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. /*
  2. * sama5d3xmb.dts - Device Tree file for SAMA5D3x mother board
  3. *
  4. * Copyright (C) 2013 Atmel,
  5. * 2013 Ludovic Desroches <ludovic.desroches@atmel.com>
  6. *
  7. * Licensed under GPLv2 or later.
  8. */
  9. #include "sama5d3xcm.dtsi"
  10. / {
  11. compatible = "atmel,sama5d3xmb", "atmel,sama5d3xcm", "atmel,sama5d3", "atmel,sama5";
  12. ahb {
  13. apb {
  14. mmc0: mmc@f0000000 {
  15. pinctrl-names = "default";
  16. pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_cd>;
  17. status = "okay";
  18. slot@0 {
  19. reg = <0>;
  20. bus-width = <4>;
  21. cd-gpios = <&pioD 17 GPIO_ACTIVE_HIGH>;
  22. };
  23. };
  24. spi0: spi@f0004000 {
  25. dmas = <0>, <0>; /* Do not use DMA for spi0 */
  26. m25p80@0 {
  27. compatible = "atmel,at25df321a";
  28. spi-max-frequency = <50000000>;
  29. reg = <0>;
  30. };
  31. };
  32. ssc0: ssc@f0008000 {
  33. atmel,clk-from-rk-pin;
  34. };
  35. /*
  36. * i2c0 conflicts with ISI:
  37. * disable it to allow the use of ISI
  38. * can not enable audio when i2c0 disabled
  39. */
  40. i2c0: i2c@f0014000 {
  41. wm8904: wm8904@1a {
  42. compatible = "wlf,wm8904";
  43. reg = <0x1a>;
  44. clocks = <&pck0>;
  45. clock-names = "mclk";
  46. };
  47. };
  48. i2c1: i2c@f0018000 {
  49. ov2640: camera@0x30 {
  50. compatible = "ovti,ov2640";
  51. reg = <0x30>;
  52. pinctrl-names = "default";
  53. pinctrl-0 = <&pinctrl_pck1_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
  54. resetb-gpios = <&pioE 24 GPIO_ACTIVE_LOW>;
  55. pwdn-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>;
  56. /* use pck1 for the master clock of ov2640 */
  57. clocks = <&pck1>;
  58. clock-names = "xvclk";
  59. assigned-clocks = <&pck1>;
  60. assigned-clock-rates = <25000000>;
  61. port {
  62. ov2640_0: endpoint {
  63. remote-endpoint = <&isi_0>;
  64. bus-width = <8>;
  65. };
  66. };
  67. };
  68. };
  69. usart1: serial@f0020000 {
  70. dmas = <0>, <0>; /* Do not use DMA for usart1 */
  71. pinctrl-names = "default";
  72. pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
  73. status = "okay";
  74. };
  75. isi: isi@f0034000 {
  76. port {
  77. isi_0: endpoint {
  78. remote-endpoint = <&ov2640_0>;
  79. bus-width = <8>;
  80. vsync-active = <1>;
  81. hsync-active = <1>;
  82. };
  83. };
  84. };
  85. mmc1: mmc@f8000000 {
  86. pinctrl-names = "default";
  87. pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
  88. status = "okay";
  89. slot@0 {
  90. reg = <0>;
  91. bus-width = <4>;
  92. cd-gpios = <&pioD 18 GPIO_ACTIVE_HIGH>;
  93. };
  94. };
  95. adc0: adc@f8018000 {
  96. pinctrl-names = "default";
  97. pinctrl-0 = <
  98. &pinctrl_adc0_adtrg
  99. &pinctrl_adc0_ad0
  100. &pinctrl_adc0_ad1
  101. &pinctrl_adc0_ad2
  102. &pinctrl_adc0_ad3
  103. &pinctrl_adc0_ad4
  104. >;
  105. status = "okay";
  106. };
  107. pinctrl@fffff200 {
  108. board {
  109. pinctrl_mmc0_cd: mmc0_cd {
  110. atmel,pins =
  111. <AT91_PIOD 17 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD17 GPIO with pullup deglitch */
  112. };
  113. pinctrl_mmc1_cd: mmc1_cd {
  114. atmel,pins =
  115. <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD18 GPIO with pullup deglitch */
  116. };
  117. pinctrl_pck0_as_audio_mck: pck0_as_audio_mck {
  118. atmel,pins =
  119. <AT91_PIOD 30 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD30 periph B */
  120. };
  121. pinctrl_pck1_as_isi_mck: pck1_as_isi_mck-0 {
  122. atmel,pins =
  123. <AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD31 periph B ISI_MCK */
  124. };
  125. pinctrl_sensor_reset: sensor_reset-0 {
  126. atmel,pins =
  127. <AT91_PIOE 24 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; /* PE24 gpio */
  128. };
  129. pinctrl_sensor_power: sensor_power-0 {
  130. atmel,pins =
  131. <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; /* PE29 gpio */
  132. };
  133. pinctrl_usba_vbus: usba_vbus {
  134. atmel,pins =
  135. <AT91_PIOD 29 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PD29 GPIO with deglitch */
  136. };
  137. };
  138. };
  139. dbgu: serial@ffffee00 {
  140. dmas = <0>, <0>; /* Do not use DMA for dbgu */
  141. status = "okay";
  142. };
  143. watchdog@fffffe40 {
  144. status = "okay";
  145. };
  146. };
  147. usb0: gadget@00500000 {
  148. atmel,vbus-gpio = <&pioD 29 GPIO_ACTIVE_HIGH>;
  149. pinctrl-names = "default";
  150. pinctrl-0 = <&pinctrl_usba_vbus>;
  151. status = "okay";
  152. };
  153. usb1: ohci@00600000 {
  154. num-ports = <3>;
  155. atmel,vbus-gpio = <&pioD 25 GPIO_ACTIVE_HIGH
  156. &pioD 26 GPIO_ACTIVE_LOW
  157. &pioD 27 GPIO_ACTIVE_LOW
  158. >;
  159. status = "okay";
  160. };
  161. usb2: ehci@00700000 {
  162. status = "okay";
  163. };
  164. };
  165. sound {
  166. compatible = "atmel,asoc-wm8904";
  167. pinctrl-names = "default";
  168. pinctrl-0 = <&pinctrl_pck0_as_audio_mck>;
  169. atmel,model = "wm8904 @ SAMA5D3EK";
  170. atmel,audio-routing =
  171. "Headphone Jack", "HPOUTL",
  172. "Headphone Jack", "HPOUTR",
  173. "IN2L", "Line In Jack",
  174. "IN2R", "Line In Jack",
  175. "Mic", "MICBIAS",
  176. "IN1L", "Mic";
  177. atmel,ssc-controller = <&ssc0>;
  178. atmel,audio-codec = <&wm8904>;
  179. status = "disabled";
  180. };
  181. };