at91sam9n12ek.dts 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. /*
  2. * at91sam9n12ek.dts - Device Tree file for AT91SAM9N12-EK board
  3. *
  4. * Copyright (C) 2012 Atmel,
  5. * 2012 Hong Xu <hong.xu@atmel.com>
  6. *
  7. * Licensed under GPLv2 or later.
  8. */
  9. /dts-v1/;
  10. #include "at91sam9n12.dtsi"
  11. / {
  12. model = "Atmel AT91SAM9N12-EK";
  13. compatible = "atmel,at91sam9n12ek", "atmel,at91sam9n12", "atmel,at91sam9";
  14. chosen {
  15. bootargs = "root=/dev/mtdblock1 rw rootfstype=jffs2";
  16. stdout-path = "serial0:115200n8";
  17. };
  18. memory {
  19. reg = <0x20000000 0x8000000>;
  20. };
  21. clocks {
  22. slow_xtal {
  23. clock-frequency = <32768>;
  24. };
  25. main_xtal {
  26. clock-frequency = <16000000>;
  27. };
  28. };
  29. ahb {
  30. apb {
  31. dbgu: serial@fffff200 {
  32. status = "okay";
  33. };
  34. ssc0: ssc@f0010000 {
  35. status = "okay";
  36. };
  37. i2c0: i2c@f8010000 {
  38. status = "okay";
  39. wm8904: codec@1a {
  40. compatible = "wlf,wm8904";
  41. reg = <0x1a>;
  42. clocks = <&pck0>;
  43. clock-names = "mclk";
  44. };
  45. qt1070: keyboard@1b {
  46. compatible = "qt1070";
  47. reg = <0x1b>;
  48. interrupt-parent = <&pioA>;
  49. interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
  50. pinctrl-names = "default";
  51. pinctrl-0 = <&pinctrl_qt1070_irq>;
  52. };
  53. };
  54. mmc0: mmc@f0008000 {
  55. pinctrl-0 = <
  56. &pinctrl_board_mmc0
  57. &pinctrl_mmc0_slot0_clk_cmd_dat0
  58. &pinctrl_mmc0_slot0_dat1_3>;
  59. status = "okay";
  60. slot@0 {
  61. reg = <0>;
  62. bus-width = <4>;
  63. cd-gpios = <&pioA 7 GPIO_ACTIVE_HIGH>;
  64. };
  65. };
  66. pinctrl@fffff400 {
  67. mmc0 {
  68. pinctrl_board_mmc0: mmc0-board {
  69. atmel,pins =
  70. <AT91_PIOA 7 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PA7 gpio CD pin pull up and deglitch */
  71. };
  72. };
  73. qt1070 {
  74. pinctrl_qt1070_irq: qt1070_irq {
  75. atmel,pins =
  76. <AT91_PIOA 2 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
  77. };
  78. };
  79. sound {
  80. pinctrl_pck0_as_audio_mck: pck0_as_audio_mck {
  81. atmel,pins =
  82. <AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE>;
  83. };
  84. };
  85. usb1 {
  86. pinctrl_usb1_vbus_sense: usb1_vbus_sense {
  87. atmel,pins =
  88. <AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PB16 gpio usb vbus sense, no pull up and deglitch */
  89. };
  90. };
  91. };
  92. spi0: spi@f0000000 {
  93. status = "okay";
  94. cs-gpios = <&pioA 14 0>, <0>, <0>, <0>;
  95. m25p80@0 {
  96. compatible = "atmel,at25df321a";
  97. spi-max-frequency = <50000000>;
  98. reg = <0>;
  99. };
  100. };
  101. hlcdc: hlcdc@f8038000 {
  102. status = "okay";
  103. hlcdc-display-controller {
  104. pinctrl-names = "default";
  105. pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>;
  106. port@0 {
  107. hlcdc_panel_output: endpoint@0 {
  108. reg = <0>;
  109. remote-endpoint = <&panel_input>;
  110. };
  111. };
  112. };
  113. };
  114. usb1: gadget@f803c000 {
  115. pinctrl-names = "default";
  116. pinctrl-0 = <&pinctrl_usb1_vbus_sense>;
  117. atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>;
  118. status = "okay";
  119. };
  120. watchdog@fffffe40 {
  121. status = "okay";
  122. };
  123. rtc@fffffeb0 {
  124. status = "okay";
  125. };
  126. };
  127. nand0: nand@40000000 {
  128. nand-bus-width = <8>;
  129. nand-ecc-mode = "hw";
  130. atmel,has-pmecc;
  131. atmel,pmecc-cap = <2>;
  132. atmel,pmecc-sector-size = <512>;
  133. nand-on-flash-bbt;
  134. status = "okay";
  135. };
  136. usb0: ohci@00500000 {
  137. num-ports = <1>;
  138. atmel,vbus-gpio = <&pioB 7 GPIO_ACTIVE_LOW>;
  139. status = "okay";
  140. };
  141. };
  142. backlight: backlight {
  143. compatible = "pwm-backlight";
  144. pwms = <&hlcdc_pwm 0 50000 0>;
  145. brightness-levels = <0 4 8 16 32 64 128 255>;
  146. default-brightness-level = <6>;
  147. power-supply = <&bl_reg>;
  148. status = "okay";
  149. };
  150. bl_reg: backlight_regulator {
  151. compatible = "regulator-fixed";
  152. regulator-name = "backlight-power-supply";
  153. regulator-min-microvolt = <5000000>;
  154. regulator-max-microvolt = <5000000>;
  155. status = "okay";
  156. };
  157. leds {
  158. compatible = "gpio-leds";
  159. d8 {
  160. label = "d8";
  161. gpios = <&pioB 4 GPIO_ACTIVE_LOW>;
  162. linux,default-trigger = "mmc0";
  163. };
  164. d9 {
  165. label = "d9";
  166. gpios = <&pioB 5 GPIO_ACTIVE_LOW>;
  167. linux,default-trigger = "nand-disk";
  168. };
  169. d10 {
  170. label = "d10";
  171. gpios = <&pioB 6 GPIO_ACTIVE_HIGH>;
  172. linux,default-trigger = "heartbeat";
  173. };
  174. };
  175. gpio_keys {
  176. compatible = "gpio-keys";
  177. enter {
  178. label = "Enter";
  179. gpios = <&pioB 3 GPIO_ACTIVE_LOW>;
  180. linux,code = <28>;
  181. wakeup-source;
  182. };
  183. };
  184. panel: panel {
  185. compatible = "qiaodian,qd43003c0-40", "simple-panel";
  186. backlight = <&backlight>;
  187. power-supply = <&panel_reg>;
  188. #address-cells = <1>;
  189. #size-cells = <0>;
  190. status = "okay";
  191. port@0 {
  192. reg = <0>;
  193. #address-cells = <1>;
  194. #size-cells = <0>;
  195. panel_input: endpoint@0 {
  196. reg = <0>;
  197. remote-endpoint = <&hlcdc_panel_output>;
  198. };
  199. };
  200. };
  201. panel_reg: panel_regulator {
  202. compatible = "regulator-fixed";
  203. regulator-name = "panel-power-supply";
  204. regulator-min-microvolt = <3300000>;
  205. regulator-max-microvolt = <3300000>;
  206. status = "okay";
  207. };
  208. sound {
  209. compatible = "atmel,asoc-wm8904";
  210. pinctrl-names = "default";
  211. pinctrl-0 = <&pinctrl_pck0_as_audio_mck>;
  212. atmel,model = "wm8904 @ AT91SAM9N12";
  213. atmel,audio-routing =
  214. "Headphone Jack", "HPOUTL",
  215. "Headphone Jack", "HPOUTR",
  216. "IN2L", "Line In Jack",
  217. "IN2R", "Line In Jack",
  218. "Mic", "MICBIAS",
  219. "IN1L", "Mic";
  220. atmel,ssc-controller = <&ssc0>;
  221. atmel,audio-codec = <&wm8904>;
  222. };
  223. };