at91-nattis-2-natte-2.dts 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * at91-nattis-2-natte-2.dts - Device Tree file for the Linea/Nattis board
  4. *
  5. * Copyright (C) 2017 Axentia Technologies AB
  6. *
  7. * Author: Peter Rosin <[email protected]>
  8. */
  9. /dts-v1/;
  10. #include "at91-linea.dtsi"
  11. #include "at91-natte.dtsi"
  12. / {
  13. model = "Axentia Linea-Nattis v2 Natte v2";
  14. compatible = "axentia,nattis-2", "axentia,natte-2", "axentia,linea",
  15. "atmel,sama5d31", "atmel,sama5d3", "atmel,sama5";
  16. gpio-keys {
  17. compatible = "gpio-keys";
  18. key-wakeup {
  19. label = "Wakeup";
  20. linux,code = <10>;
  21. wakeup-source;
  22. gpios = <&pioB 27 GPIO_ACTIVE_LOW>;
  23. };
  24. };
  25. panel_reg: panel-regulator {
  26. compatible = "regulator-fixed";
  27. regulator-name = "panel-VCC";
  28. regulator-min-microvolt = <3300000>;
  29. regulator-max-microvolt = <3300000>;
  30. };
  31. bl_reg: backlight-regulator {
  32. compatible = "regulator-fixed";
  33. regulator-name = "panel-VDD";
  34. regulator-min-microvolt = <12000000>;
  35. regulator-max-microvolt = <12000000>;
  36. };
  37. panel_bl: backlight {
  38. compatible = "pwm-backlight";
  39. pwms = <&hlcdc_pwm 0 100000 0>;
  40. brightness-levels = < 0 1 2 3 4 5 6 7 8 9
  41. 10 11 12 13 14 15 16 17 18 19
  42. 20 21 22 23 24 25 26 27 28 29
  43. 30 31 32 33 34 35 36 37 38 39
  44. 40 41 42 43 44 45 46 47 48 49
  45. 50 51 52 53 54 55 56 57 58 59
  46. 60 61 62 63 64 65 66 67 68 69
  47. 70 71 72 73 74 75 76 77 78 79
  48. 80 81 82 83 84 85 86 87 88 89
  49. 90 91 92 93 94 95 96 97 98 99
  50. 100>;
  51. default-brightness-level = <40>;
  52. power-supply = <&bl_reg>;
  53. enable-gpios = <&pioA 20 GPIO_ACTIVE_HIGH>;
  54. pinctrl-names = "default";
  55. pinctrl-0 = <&pinctrl_blon>;
  56. };
  57. panel: panel {
  58. compatible = "sharp,lq150x1lg11", "panel-lvds";
  59. backlight = <&panel_bl>;
  60. power-supply = <&panel_reg>;
  61. width-mm = <304>;
  62. height-mm = <228>;
  63. data-mapping = "jeida-18";
  64. panel-timing {
  65. // 1024x768 @ 60Hz (typical)
  66. clock-frequency = <50000000 65000000 80000000>;
  67. hactive = <1024>;
  68. vactive = <768>;
  69. hfront-porch = <48 88 88>;
  70. hback-porch = <96 168 168>;
  71. hsync-len = <32 64 64>;
  72. vsync-len = <3 13 74>;
  73. vfront-porch = <3 13 74>;
  74. vback-porch = <3 12 74>;
  75. };
  76. port {
  77. panel_input: endpoint {
  78. remote-endpoint = <&lvds_encoder_output>;
  79. };
  80. };
  81. };
  82. lvds-encoder {
  83. compatible = "ti,ds90c185", "lvds-encoder";
  84. pinctrl-names = "default";
  85. pinctrl-0 = <&pinctrl_lvds_prlud0 &pinctrl_lvds_hipow0>;
  86. ports {
  87. #address-cells = <1>;
  88. #size-cells = <0>;
  89. port@0 {
  90. reg = <0>;
  91. lvds_encoder_input: endpoint {
  92. remote-endpoint = <&hlcdc_output>;
  93. };
  94. };
  95. port@1 {
  96. reg = <1>;
  97. lvds_encoder_output: endpoint {
  98. remote-endpoint = <&panel_input>;
  99. };
  100. };
  101. };
  102. };
  103. sound {
  104. compatible = "simple-audio-card";
  105. simple-audio-card,name = "nattis-tfa9879";
  106. simple-audio-card,format = "i2s";
  107. simple-audio-card,bitclock-master = <&cpu_dai>;
  108. simple-audio-card,frame-master = <&cpu_dai>;
  109. simple-audio-card,widgets = "Line", "Line Out Jack";
  110. simple-audio-card,routing = "Line Out Jack", "LINEOUT";
  111. cpu_dai: simple-audio-card,cpu {
  112. sound-dai = <&ssc0>;
  113. };
  114. simple-audio-card,codec {
  115. sound-dai = <&amp>;
  116. };
  117. };
  118. };
  119. &pinctrl {
  120. nattis {
  121. pinctrl_usba_vbus: usba_vbus {
  122. atmel,pins = <AT91_PIOD 28 AT91_PERIPH_GPIO
  123. AT91_PINCTRL_DEGLITCH>;
  124. };
  125. pinctrl_mmc0_cd: mmc0_cd {
  126. atmel,pins = <AT91_PIOD 5 AT91_PERIPH_GPIO
  127. AT91_PINCTRL_PULL_UP_DEGLITCH>;
  128. };
  129. pinctrl_lvds_prlud0: lvds_prlud0 {
  130. atmel,pins = <AT91_PIOA 21 AT91_PERIPH_GPIO
  131. (AT91_PINCTRL_OUTPUT |
  132. AT91_PINCTRL_OUTPUT_VAL(0))>;
  133. };
  134. pinctrl_lvds_hipow0: lvds_hipow0 {
  135. atmel,pins = <AT91_PIOA 23 AT91_PERIPH_GPIO
  136. (AT91_PINCTRL_OUTPUT |
  137. AT91_PINCTRL_OUTPUT_VAL(0))>;
  138. };
  139. pinctrl_blon: blon {
  140. atmel,pins = <AT91_PIOA 20 AT91_PERIPH_GPIO
  141. (AT91_PINCTRL_OUTPUT |
  142. AT91_PINCTRL_OUTPUT_VAL(0))>;
  143. };
  144. };
  145. };
  146. &watchdog {
  147. status = "okay";
  148. };
  149. &i2c0 {
  150. status = "okay";
  151. clock-frequency = <100000>;
  152. temp@18 {
  153. compatible = "nxp,se97b", "jedec,jc-42.4-temp";
  154. reg = <0x18>;
  155. smbus-timeout-disable;
  156. };
  157. eeprom@50 {
  158. compatible = "nxp,se97b", "atmel,24c02";
  159. reg = <0x50>;
  160. pagesize = <16>;
  161. };
  162. amp: amplifier@6c {
  163. compatible = "nxp,tfa9879";
  164. reg = <0x6c>;
  165. #sound-dai-cells = <0>;
  166. };
  167. };
  168. &ssc0 {
  169. status = "okay";
  170. atmel,clk-from-rk-pin;
  171. #sound-dai-cells = <0>;
  172. };
  173. &hlcdc {
  174. status = "okay";
  175. hlcdc-display-controller {
  176. pinctrl-names = "default";
  177. pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb565>;
  178. port@0 {
  179. hlcdc_output: endpoint {
  180. remote-endpoint = <&lvds_encoder_input>;
  181. bus-width = <16>;
  182. };
  183. };
  184. };
  185. };
  186. &mmc0 {
  187. status = "okay";
  188. pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0
  189. &pinctrl_mmc0_dat1_3
  190. &pinctrl_mmc0_cd>;
  191. slot@0 {
  192. reg = <0>;
  193. bus-width = <4>;
  194. cd-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
  195. cd-inverted;
  196. };
  197. };
  198. &usart0 {
  199. status = "okay";
  200. pinctrl-names = "default";
  201. pinctrl-0 = <&pinctrl_usart0>;
  202. atmel,use-dma-rx;
  203. };
  204. &nand {
  205. partitions {
  206. compatible = "fixed-partitions";
  207. #address-cells = <1>;
  208. #size-cells = <1>;
  209. at91bootstrap@0 {
  210. label = "at91bootstrap";
  211. reg = <0x0 0x40000>;
  212. };
  213. barebox@40000 {
  214. label = "barebox";
  215. reg = <0x40000 0x60000>;
  216. };
  217. bareboxenv@c0000 {
  218. label = "bareboxenv";
  219. reg = <0xc0000 0x40000>;
  220. };
  221. bareboxenv2@100000 {
  222. label = "bareboxenv2";
  223. reg = <0x100000 0x40000>;
  224. };
  225. oftree@180000 {
  226. label = "oftree";
  227. reg = <0x180000 0x20000>;
  228. };
  229. kernel@200000 {
  230. label = "kernel";
  231. reg = <0x200000 0x500000>;
  232. };
  233. rootfs@800000 {
  234. label = "rootfs";
  235. reg = <0x800000 0x1f800000>;
  236. };
  237. };
  238. };
  239. &dbgu {
  240. status = "okay";
  241. atmel,use-dma-rx;
  242. };
  243. &usb0 {
  244. status = "okay";
  245. atmel,vbus-gpio = <&pioD 28 GPIO_ACTIVE_HIGH>;
  246. pinctrl-names = "default";
  247. pinctrl-0 = <&pinctrl_usba_vbus>;
  248. };