PageRenderTime 29ms CodeModel.GetById 28ms RepoModel.GetById 0ms app.codeStats 0ms

/arch/arm/boot/dts/at91-kizbox3-hs.dts

https://github.com/penberg/linux
Device Tree | 309 lines | 254 code | 44 blank | 11 comment | 0 complexity | 5eeb7038bedcb118a828d6038712b9a6 MD5 | raw file
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * at91-kizbox3-hs.dts - Device Tree file for Overkiz KIZBOX3-HS board
  4. *
  5. * Copyright (C) 2018 Overkiz SAS
  6. *
  7. * Authors: Dorian Rocipon <d.rocipon@overkiz.com>
  8. * Kevin Carli <k.carli@overkiz.com>
  9. * Mickael Gardet <m.gardet@overkiz.com>
  10. */
  11. /dts-v1/;
  12. #include "at91-kizbox3_common.dtsi"
  13. / {
  14. model = "Overkiz KIZBOX3-HS";
  15. compatible = "overkiz,kizbox3-hs", "atmel,sama5d2", "atmel,sama5";
  16. pwm_leds {
  17. status = "okay";
  18. red {
  19. status = "okay";
  20. };
  21. green {
  22. status = "okay";
  23. };
  24. blue {
  25. status = "okay";
  26. };
  27. white {
  28. status = "okay";
  29. };
  30. };
  31. leds {
  32. compatible = "gpio-leds";
  33. pinctrl-names = "default";
  34. pinctrl-0 = <&pinctrl_led_red
  35. &pinctrl_led_white>;
  36. status = "okay";
  37. red {
  38. label = "pio:red:user";
  39. gpios = <&pioA PIN_PB1 GPIO_ACTIVE_HIGH>;
  40. default-state = "off";
  41. };
  42. white {
  43. label = "pio:white:user";
  44. gpios = <&pioA PIN_PB8 GPIO_ACTIVE_HIGH>;
  45. default-state = "off";
  46. };
  47. };
  48. gpio_keys {
  49. compatible = "gpio-keys";
  50. pinctrl-names = "default" , "default", "default",
  51. "default", "default" ;
  52. pinctrl-0 = <&pinctrl_key_gpio_default>;
  53. pinctrl-1 = <&pinctrl_pio_rf &pinctrl_pio_wifi>;
  54. pinctrl-2 = <&pinctrl_pio_io_boot
  55. &pinctrl_pio_io_reset
  56. &pinctrl_pio_io_test_radio>;
  57. pinctrl-3 = <&pinctrl_pio_zbe_test_radio
  58. &pinctrl_pio_zbe_rst>;
  59. pinctrl-4 = <&pinctrl_pio_input>;
  60. SW1 {
  61. label = "SW1";
  62. gpios = <&pioA PIN_PA29 GPIO_ACTIVE_LOW>;
  63. linux,code = <0x101>;
  64. wakeup-source;
  65. };
  66. SW2 {
  67. label = "SW2";
  68. gpios = <&pioA PIN_PA18 GPIO_ACTIVE_LOW>;
  69. linux,code = <0x102>;
  70. wakeup-source;
  71. };
  72. SW3 {
  73. label = "SW3";
  74. gpios = <&pioA PIN_PA22 GPIO_ACTIVE_LOW>;
  75. linux,code = <0x103>;
  76. wakeup-source;
  77. };
  78. SW7 {
  79. label = "SW7";
  80. gpios = <&pioA PIN_PA26 GPIO_ACTIVE_LOW>;
  81. linux,code = <0x107>;
  82. wakeup-source;
  83. };
  84. SW8 {
  85. label = "SW8";
  86. gpios = <&pioA PIN_PA24 GPIO_ACTIVE_LOW>;
  87. linux,code = <0x108>;
  88. wakeup-source;
  89. };
  90. };
  91. gpios {
  92. compatible = "gpio";
  93. status = "okay";
  94. rf_on {
  95. label = "rf on";
  96. gpio = <&pioA PIN_PC19 GPIO_ACTIVE_HIGH>;
  97. output;
  98. init-low;
  99. };
  100. wifi_on {
  101. label = "wifi on";
  102. gpio = <&pioA PIN_PC20 GPIO_ACTIVE_HIGH>;
  103. output;
  104. init-low;
  105. };
  106. zbe_test_radio {
  107. label = "zbe test radio";
  108. gpio = <&pioA PIN_PB21 GPIO_ACTIVE_HIGH>;
  109. output;
  110. init-low;
  111. };
  112. zbe_rst {
  113. label = "zbe rst";
  114. gpio = <&pioA PIN_PB25 GPIO_ACTIVE_HIGH>;
  115. output;
  116. init-low;
  117. };
  118. io_reset {
  119. label = "io reset";
  120. gpio = <&pioA PIN_PB30 GPIO_ACTIVE_HIGH>;
  121. output;
  122. init-low;
  123. };
  124. io_test_radio {
  125. label = "io test radio";
  126. gpio = <&pioA PIN_PC9 GPIO_ACTIVE_HIGH>;
  127. output;
  128. init-low;
  129. };
  130. io_boot_0 {
  131. label = "io boot 0";
  132. gpio = <&pioA PIN_PC11 GPIO_ACTIVE_HIGH>;
  133. output;
  134. init-low;
  135. };
  136. io_boot_1 {
  137. label = "io boot 1";
  138. gpio = <&pioA PIN_PC17 GPIO_ACTIVE_HIGH>;
  139. output;
  140. init-low;
  141. };
  142. verbose_bootloader {
  143. label = "verbose bootloader";
  144. gpio = <&pioA PIN_PB11 GPIO_ACTIVE_HIGH>;
  145. input;
  146. };
  147. nail_bed_detection {
  148. label = "nail bed detection";
  149. gpio = <&pioA PIN_PB12 GPIO_ACTIVE_HIGH>;
  150. input;
  151. };
  152. id_usba {
  153. label = "id usba";
  154. gpio = <&pioA PIN_PC0 GPIO_ACTIVE_LOW>;
  155. input;
  156. };
  157. };
  158. };
  159. &pioA {
  160. pinctrl_key_gpio_default: key_gpio_default {
  161. pinmux= <PIN_PA22__GPIO>,
  162. <PIN_PA24__GPIO>,
  163. <PIN_PA26__GPIO>,
  164. <PIN_PA29__GPIO>,
  165. <PIN_PA18__GPIO>;
  166. bias-disable;
  167. };
  168. pinctrl_gpio {
  169. pinctrl_pio_rf: gpio_rf {
  170. pinmux = <PIN_PC19__GPIO>;
  171. bias-disable;
  172. };
  173. pinctrl_pio_wifi: gpio_wifi {
  174. pinmux = <PIN_PC20__GPIO>;
  175. bias-disable;
  176. };
  177. pinctrl_pio_io_boot: gpio_io_boot {
  178. pinmux =
  179. <PIN_PC11__GPIO>,
  180. <PIN_PC17__GPIO>;
  181. bias-disable;
  182. };
  183. pinctrl_pio_io_test_radio: gpio_io_test_radio {
  184. pinmux = <PIN_PC9__GPIO>;
  185. bias-disable;
  186. };
  187. pinctrl_pio_zbe_test_radio: gpio_zbe_test_radio {
  188. pinmux = <PIN_PB21__GPIO>;
  189. bias-disable;
  190. };
  191. pinctrl_pio_zbe_rst: gpio_zbe_rst {
  192. pinmux = <PIN_PB25__GPIO>;
  193. bias-disable;
  194. };
  195. /* stm32 reset must be open drain (internal pull up) */
  196. pinctrl_pio_io_reset: gpio_io_reset {
  197. pinmux = <PIN_PB30__GPIO>;
  198. bias-disable;
  199. drive-open-drain = <1>;
  200. output-low;
  201. };
  202. pinctrl_pio_input: gpio_input {
  203. pinmux =
  204. <PIN_PB11__GPIO>,
  205. <PIN_PB12__GPIO>,
  206. <PIN_PC0__GPIO>;
  207. bias-disable;
  208. };
  209. };
  210. pinctrl_leds {
  211. pinctrl_led_red: led_red {
  212. pinmux = <PIN_PB1__GPIO>;
  213. bias-disable;
  214. };
  215. pinctrl_led_white: led_white {
  216. pinmux = <PIN_PB8__GPIO>;
  217. bias-disable;
  218. };
  219. };
  220. };
  221. &adc {
  222. status = "okay";
  223. };
  224. &uart0 {
  225. status = "okay";
  226. };
  227. &uart1 {
  228. status = "okay";
  229. };
  230. &uart2 {
  231. status = "okay";
  232. };
  233. &uart3 {
  234. status = "okay";
  235. };
  236. &uart4 {
  237. status = "okay";
  238. };
  239. &flx0 {
  240. status = "okay";
  241. uart5: serial@200 {
  242. status = "okay";
  243. };
  244. };
  245. &flx3 {
  246. status = "okay";
  247. uart8: serial@200 {
  248. status = "okay";
  249. };
  250. };
  251. &flx4 {
  252. status = "okay";
  253. i2c6: i2c@600 {
  254. status = "okay";
  255. };
  256. };
  257. &usb0 {
  258. status = "okay";
  259. };
  260. &usb1 {
  261. status = "okay";
  262. };
  263. &usb2 {
  264. status = "okay";
  265. };